Длительный процесс Java - PullRequest
2 голосов
/ 12 марта 2009

Я унаследовал систему Java, которая должна работать в фоновом режиме на сервере Linux. Указания требуют его запуска java -jar start.jar. Это кажется слишком хрупким на мой вкус. Я бы хотел, чтобы он действительно работал в фоновом режиме, в идеале запускаясь автоматически при загрузке.

Каков наилучший способ достичь этого? Я рассмотрел запуск системы в среде screen, которая работает нормально, но не запускается автоматически при перезагрузке системы.

Ответы [ 3 ]

7 голосов
/ 12 марта 2009

Вы можете написать скрипт init.d для него! (сценарии init.d запускаются на указанных уровнях запуска во время запуска)

Или вы можете запустить его в фоновом режиме с & в конце команды.

java -jar start.jar &

Какой дистрибутив вы используете? Debian?

Посмотрите: Создание собственного скрипта init.d

1 голос
/ 13 марта 2009

+ 1 при использовании скрипта init.d

Вам также следует рассмотреть возможность использования jsvc (http://commons.apache.org/daemon/jsvc.html) в вашем скрипте init.d, чтобы позволить вам использовать привилегированные ресурсы при запуске сервиса в качестве непривилегированного пользователя. Jsvc поставляется как минимум с Debian и Ubuntu.

1 голос
/ 12 марта 2009

По крайней мере в Ubuntu, я бы поместил эту команду в файл /etc/rc.local с символом & в конце.

...