Я запускаю Java-приложение (в Ubuntu) с собственным внутренним интерфейсом командной строки, но без API или доступа извне. Одно из решений, которое я могу придумать, - запустить это приложение на его собственном псевдотерминале, а затем записать команды на этот терминал для отправки команд. Это лучший способ сделать это? Если да, то есть ли обычный способ завершить подобные вещи? Есть ли способ, которым можно создать псевдотерминал, запустить приложение, а затем просто и надежно отправлять команды с других терминалов?
Спасибо,
Сэм
Честно говоря, это, вероятно, не лучшая идея, но вы можете запустить ее под экраном через screen -d -m -s your-java-app
. Это приведет к тому, что screen запустит ваше приложение вместо оболочки и запустит его уже отсоединенным. Затем вы можете прикрепить к нему по мере необходимости. Вы даже можете настроить ACL, чтобы определенные люди могли присоединяться к нему.
Самый большой недостаток, который я вижу, заключается в том, что Ctrl-A, C в конечном итоге запустит второй экземпляр вашей программы. Возможно, у вас есть специальный .screenrc, чтобы отключить эту привязку.