保持進程在 Linux 機器上運行

保持進程在 Linux 機器上運行

我為我的公司編寫了一個伺服器程序,現在我想讓它在 ubuntu 伺服器上運行。

我正在考慮設置一個cronjob 每週重新啟動整個系統一次(出於安全目的,為了清除RAM,以防出現內存洩漏,但我還沒有發現......等等),但我不知道該怎麼做保持這個過程。

現在我正在做一個

screen
./launch_server

並將其分離。這是在伺服器上執行 Web 公開程式的好方法嗎?無論出於何種原因,我是否需要 daemontools 或 runit 之類的東西?

答案1

你的問題其實是兩個問題的組合:

  1. 如何在啟動時運行程式?

使用暴發戶或者系統( 中的腳本/etc/init.d),取決於您的版本。

  1. 我如何保持它運行?

最簡單的方法是新增一個 cron 作業來檢查進程名稱是否處於執行狀態,如果不是則重新啟動它。我會補充這一點,讓它在發現這種情況時向您發送一封電子郵件,這樣如果系統發生了某些事情,反覆殺死它,您就會知道。如果程式還沒有時間戳記錄,我也會添加它,這樣您就可以記錄這些事件發生的時間。

如果可能的話,也應該記錄導致其死亡的信號或條件,以便您可以防止它發生。您甚至可以考慮將程式日誌新增至自動電子郵件。

相關內容