1

以下设置

启动-停止-守护进程:

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 应用程序?

4

1 回答 1

1

这不起作用的原因是你真的只是停止/opt/myapp它被杀死时不会自动杀死它的孩子(java进程)。在您的脚本中手动执行此操作(这很棘手)或让 start-stop-daemon 直接启动 java。它应该看起来像这样

start-stop-daemon -S -m -p $PIDFILE --name myapp --exec java -- -jar ./myapp.jar
于 2014-11-28T11:11:29.117 回答