状況:アプリケーションがシャットダウンするたびにアプリケーションを再起動する、キープアライブシェルスクリプトがあります。SIGTERM
ただし、アプリケーションがor SIGINT
(kill
、Ctrl+C
など)、つまりシャットダウンフックを介して閉じられた場合は、これを実行したくありません。exit
ただし、呼び出しが違法であるためにシャットダウンフックを終了するときに、終了コードを設定する方法がないため、キープアライブスクリプトと通信します。
Javadocからexit
:
仮想マシンがシャットダウンシーケンスを開始した後にこのメソッドが呼び出された場合、シャットダウンフックが実行されていると、このメソッドは無期限にブロックされます。シャットダウンフックがすでに実行されており、終了時のファイナライズが有効になっている場合、ステータスがゼロ以外の場合、このメソッドは指定されたステータスコードで仮想マシンを停止します。それ以外の場合は、無期限にブロックします。
これは可能ですか?