Лучший способ к daemonize JAVA-приложению на [закрытом] Linux

6
задан SyBer 27 April 2010 в 20:14
поделиться

6 ответов

Хотя стандартный ответ на этот вопрос, кажется, jsvc , я использовал инструменты демона djb , чтобы быть отличный способ превратить что угодно в демона.

У меня есть java, python и несколько сценариев оболочки, которые работают как демоны, с простым способом их запуска / остановки и отличным протоколированием.

Раньше я запускал сам daemontools с правами root на initctl, как это было изначально задумано, но через несколько месяцев я решил запустить его вручную под обычным пользователем и с помощью svscan-start для более удобного ведения журнала. .

5
ответ дан 8 December 2019 в 14:41
поделиться

Я использовал Akuma в прошлом, с большим успехом. Тот факт, что это библиотека Java, действительно упрощает задачу, встраивание функциональности тривиально.

1
ответ дан 8 December 2019 в 14:41
поделиться

Я бы не исключил полностью внешние обертки.
Я заметил несколько уважаемых программ, использующих Tanuki Wrapper http://wrapper.tanukisoftware.org/ .

Это дает дополнительное преимущество, заключающееся в том, что программу также можно легко запустить как службу Windows при последовательном подходе.

1
ответ дан 8 December 2019 в 14:41
поделиться

Если я хочу запустить приложение в фоновом режиме как демон, я делаю это следующим образом:

nohup java -jar MyJar &

В этом нет ничего особенно ненадежного - nohup не позволяет ему получать SIGHUP при отключении, а & запускает процесс в фоновом режиме.

При желании вы можете перенаправить вывод на что-то другое, кроме nohup.out .

5
ответ дан 8 December 2019 в 14:41
поделиться

Я бы использовал функцию init.d демона RedHat. Это позволяет вам перезапустить приложение, когда это сделает сервер. Запуск nohup не обрабатывает перезапуск сервера и т. Д.

2
ответ дан 8 December 2019 в 14:41
поделиться

Вы можете попробовать использовать экран (Запустить экран, затем запустить Java-программу, затем закрыть [не выходить] экран)

-1
ответ дан 8 December 2019 в 14:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: