如何監督進程並安排定期重啟?

如何監督進程並安排定期重啟?

我運行的進程有時會崩潰,有時會凍結。我使用監督讓它在崩潰時自動重新啟動。但是,如果它凍結了,它就會一直凍結,直到我回到電腦前。我想要一個工具,可以在崩潰時重新啟動它,但也可以配置為定期終止並重新啟動,因此如果它凍結,它不會在給定的時間內保持凍結狀態。

誰會建議使用哪一種工具呢?

謝謝

答案1

如果您願意,您可以使用 cron 來執行此操作...

sudo crontab -e

* /5 * * * pkill -9 <your process name here> ; <your process name here>

每 5 小時就會殺死並重新啟動它。更多範例...計劃任務範例

答案2

我嘗試使用監督守護程式工具使用 crontab :

首先,我從

supervise /fullpath

我使用這個 crontab :

0 23 * * * svc -d /fullpath
2 23 * * * svc -k /fullpath
5 23 * * * svc -u /fullpath

其中 fullpath 是包含名為 run 的檔案的目錄,該檔案啟動我的進程。棘手的部分是調用的檔案應以以下結尾:

exec java ...

通常,我使用腳本啟動應用程序,但是如果我將該腳本放在名為 run 的文件中,則當執行 svc 時,它會向該腳本發送信號,並且 java 進程繼續運行。我創建了該腳本的副本並對其進行了修改,使其輸出帶有所有參數的對 java 的調用,並將其複製到名為 run.txt 的檔案中。

相關內容