Java サーバーの起動およびシャットダウン スクリプト

Java サーバーの起動およびシャットダウン スクリプト

私は、Ubuntu 14.04 サーバーにデプロイする Java アプリ (JAR) 用の、スムーズな起動/シャットダウン スクリプト (Bash) を設計しようとしています。次のように、クリーンで Linux と Ubuntu に適したサーバー起動方法を探しています。

java -jar myapp.jar <lots off subsequent arguments>

そして、シャットダウン スクリプトで、JAR の PID を見つけ、SIGSTOP を発行してアプリが独自に正常にシャットダウンできるようにし、準備が整ったら最後に PID を強制終了します。

私は疑問に思ったupstartこのようなユースケースに適した候補となる可能性がありますか? そうであれば、どのようにすればよいでしょうか? そうでない場合、他にどのようなアプローチが考えられますか?

答え1

SIGSTOP はプロセスを一時停止しますが、クリーンなシャットダウンは行いません。代わりに SIGTERM を使用してください。

以下は、Java プロセスのドラフト アップスタート ジョブです。

description "my java app"

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec java -jar myapp.jar <arguments>

それはかなりうまくいくはずです。

関連情報