JVM はSIGTERM および同様のシグナルをシャットダウン フックに変換しますが、多くのサービス シャットダウン スクリプトは TCP ポートを使用してシャットダウンを開始します。(Tomcat のシャットダウン ポート、Java Service Wrapper、JBoss の管理インターフェースなど)
そのため、Play! フレームワークはシャットダウン フックを使用してサービス ライフサイクルを管理しており、によって生成された起動スクリプトplay dist
は、シグナルが JVM の PID に送信されることを前提としています。
シグナルはプラットフォームに依存し、TCP ポートを使用することはクロスプラットフォームの方法でサービスを管理するためのシンプルで拡張可能な方法であることを知っていますが、それがどれほど安全であり、依存するときにどのようなリスクを考慮する必要があるかを知りたいです。サービスをシャットダウンするための主要な方法として、SIGTERM およびシャットダウン フックを使用します。