Привет Я делаю Java-программу на веб-сервере Ubuntu, но она всегда должна работать в бесконечном цикле или, по крайней мере, до тех пор, пока я не остановлю ее. Когда я запускаю его в консоли Ubuntu, он не позволит мне продолжать использовать консоль. Чтобы обойти это, я использовал команду «screen» и отсоединил экран. Мне было интересно, есть ли лучший способ сделать это, не работая с командой экрана?Запуск Java Infinite Loop в Ubuntu
ответ
Запуск программы невосприимчивой к зависаниям
Если вы счастливы с запуском программы Java вручную из командной строки, но просто хотят не работает экран, вы можете использовать команду «поЬир», чтобы начать Java-процесс таким образом, чтобы программа Java продолжала работать, даже если вы закрываете окно консоли или выходите из системы.
$ nohup java ...
nohup: ignoring input and appending output to `nohup.out'
$
Запуск программы в фоновом режиме
Если вы не возражаете, программа Java остановки, если вы закроете окно консоли или выйти из системы, вы можете пропустить с помощью «поЬир» и только добавить в "& "до конца команды, чтобы сообщить вашей оболочке о запуске приложения в фоновом режиме. Вы также можете добавить «> program.log 2> & 1» к команде, чтобы избежать появления какого-либо вывода из программы в окне консоли, пока вы используете ее для других целей.
$ java ... > program.log 2>&1 &
[2] 3128
$ jobs
[2]+ Running java ... > program.log 2>&1 &
$
Запуск программы как демон
Если вы хотите, чтобы программа Java для автоматического запуска каждый раз при перезагрузке машины, вы должны смотреть на создание SYSV init-script, или, как вы работаете на Ubuntu , an Upstart Job definiton.
Вы имеете в виду сервер Ubuntu? Сервер Ubuntu позволяет использовать веб-сервер и многие другие сервисные типы. – hexafraction