2013-06-29 3 views
0

Привет Я делаю Java-программу на веб-сервере Ubuntu, но она всегда должна работать в бесконечном цикле или, по крайней мере, до тех пор, пока я не остановлю ее. Когда я запускаю его в консоли Ubuntu, он не позволит мне продолжать использовать консоль. Чтобы обойти это, я использовал команду «screen» и отсоединил экран. Мне было интересно, есть ли лучший способ сделать это, не работая с командой экрана?Запуск Java Infinite Loop в Ubuntu

+0

Вы имеете в виду сервер Ubuntu? Сервер Ubuntu позволяет использовать веб-сервер и многие другие сервисные типы. – hexafraction

ответ

0

Запуск программы невосприимчивой к зависаниям

Если вы счастливы с запуском программы 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.