Я работал над проектом Python / Django и только что обнаружил команду «./manage.py dbshell». Он читает ваш файл конфигурации для учетных данных базы данных и запускает оболочку базы данных для вас.
Под капотом Django использует функцию Python os.execvp (http://docs.python.org/library/os.html#os.execvp). Я не смог найти в Java / Ant ничего подобного, но обнаружил, что вы можете перенаправить запущенный процесс на ваш TTY ( mysql> tty
), но попытка создать задачу для этого, похоже, не работает.
<target name="test">
<exec executable="/bin/sh">
<arg value="-c" />
<arg value="mysql -u foo -pbar > `tty`" />
</exec>
</target>
Когда я запускаю эту задачу, я не получаю оболочку базы данных, и в текущем каталоге создается файл с именем «не tty».
У кого-нибудь есть другие идеи о том, как я могу запустить интерактивный процесс из муравья?