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 は、デーモン用と Java 用の 2 つの出力を子として提供します。停止したい場合は、デーモンのみが停止され、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 に答える