Java 伺服器的啟動和關閉腳本

Java 伺服器的啟動和關閉腳本

我正在嘗試為將部署到 Ubuntu 14.04 伺服器的 Java 應用程式 (JAR) 設計一個優雅的啟動/關閉腳本 (Bash)。我正在尋找一種乾淨的、Linux 和 Ubuntu 友好的方式來啟動伺服器,如下所示:

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

然後,在關閉腳本中,找到 JAR 的 PID,發出 SIGSTOP 以允許應用程式自行正常關閉,最後在 PID 良好且準備就緒時殺死 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>

這應該工作得相當好。

相關內容