Как запустить Java-программу как демон, используя Jsvc

#java #linux #daemon #jsvc

#java #linux #демон #jsvc

Вопрос:

Я использую Jsvc для запуска Java-программы, которая реализует интерфейс Daemon. Однако, когда я выполняю команду

 /usr/bin/jsvc -user walikha -home $JAVE_HOME -outfile out.file -errfile '$1'   Jooist.Server.jar Main
  

Однако команда выполняется автоматически и отображает приглашение. Как я могу определить, запущен ли демон? В исполняемом файле Java функции init, start, stop и destroy просто печатают в файл журнала, используя Log4J. Файл журнала не создан, и нет абсолютно никаких указаний на то, что служба запущена. Я что-то упустил или я что-то упустил при настройке и установке Jsvc?

Комментарии:

1. Привет, у меня тоже такая же проблема. Смогли ли вы найти решение?

Ответ №1:

Измените свою команду, включив в нее параметры «-outfile» и «-errfile» и указав свой собственный путь к файлам журнала.

 /usr/bin/jsvc -outfile app.out -errfile app.err -user walikha -home $JAVE_HOME -outfile out.file -errfile '$1'   Jooist.Server.jar Main
  

Комментарии:

1. Исходный вопрос содержит как -outfile , так и -errfile

Ответ №2:

Вы можете запустить службу как демон, добавив свое приложение в /etc/init.d/ start/stop скрипты.

Комментарии:

1. Даст ли это возможность корректно завершить работу службы java?

Ответ №3:

Попробуйте -debug переключатель и посмотрите, что происходит. Однако, похоже, вы пропустили включение commons-daemon-1.0.10.jar в свой classpath.