Выполнить Java-программу командной строки в фоновом режиме - PullRequest
1 голос
/ 13 июня 2010

Возможно ли выполнение Java-программы в фоновом режиме, чтобы пользователь мог выполнять другие команды перед ней?

Например, вот как консоль может выглядеть для указанной программы:

$ myProgram (выполняет программу)
Program Started! (вывод из myProgram)
$ (пользователь может ввести другую команду UNIX, пока myProgram еще работает)

Заранее спасибо!

Ответы [ 3 ]

4 голосов
/ 13 июня 2010

Фоновое выполнение является частью оболочки.Вы можете добавить & в конце командной строки, чтобы запустить ее в фоновом режиме.

Фоновый вывод не передается в текущую оболочку.Если это произошло, пользователю было бы неудобно вводить ввод, когда терминал все еще выводил.

РЕДАКТИРОВАТЬ: Я только что попробовал "ls &" на cygwin, и вывод ls появляется в консоли,Кажется, в сети много противоречивой информации!:)

2 голосов
/ 13 июня 2010

Лучше всего использовать экран, если у вас нет его типа

sudo apt-get install screen

тип

screen

запустить команду как

java MyClass

нажмите ctrl + (a + d)

чтобы снова просмотреть это окно, введите screen -x

0 голосов
/ 13 июня 2010

Я полагаю, что можно запустить программу и разрешить доступ к оболочке ... но пользователь не увидит вывод.

Я не думаю, что возможно реализовать приведенный вами пример сценария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...