Stop Daemon не завершает дочерний процесс Java

следующая установка

Старт-Стоп-Демон:

do_start
start-stop-daemon -S -m -p $PIDFILE --name myapp --exec /opt/myapp

do_stop
start-stop-daemon -K -R TERM/30/KILL/5 -p $PIDFILE --name myapp

сценарий, который я запускаю, выглядит так:

 java -jar ./myapp.jar

поэтому, когда я запускаю свой демон, все работает нормально, создается PIDFILE. PS вспомогательный | grep myapp дает мне 2 вывода, один для демона и один для java, как дочерний. Если я хочу остановить его, останавливается только демон, а процесс java продолжает работать отдельно от консоли.

Как мне нужно изменить мой демон/скрипт, чтобы также назвать приложение Java, когда я останавливаю демон?


person Tobi    schedule 28.11.2014    source источник


Ответы (1)


Причина, по которой это не работает, заключается в том, что вы действительно просто останавливаете /opt/myapp, который при уничтожении не убивает автоматически своих детей (процесс java). Либо сделайте это в своем скрипте вручную (что сложно), либо запустите java напрямую с помощью start-stop-daemon. Тогда это должно выглядеть так

start-stop-daemon -S -m -p $PIDFILE --name myapp --exec java -- -jar ./myapp.jar
person Simon Fischer    schedule 28.11.2014