使用 CRON 啟動和監控進程

使用 CRON 啟動和監控進程

有一個用 C 編寫的存根應用程式。我想用計劃任務過程,但我不知道該怎麼做。請幫忙。

我也想要計劃任務定期檢查應用程式是否正常運作。如果應用程式崩潰或掛起,計劃任務應該能夠在一定時間內重新啟動應用程式。

答案1

Cron 用於按計劃的時間間隔運行計劃任務,而不是照顧其他進程。

您可以:

  • 使用不同的東西,例如主機作業系統的初始化腳本系統,也許有一個自訂作業,inittab如果它死了,它會自動重生。

  • 或以 shell 腳本的形式將某些內容組合在一起,該腳本定期通過cron使用一組預先確定的檢查來檢查守護程序腳本是否正常運行而觸發,如果沒有在運行後清理,則重新啟動-發射。

答案2

您只需在 crontab 檔案中輸入一個條目即可

$ crontab -e

結束然後根據您的輸入http://www.manpagez.com/man/5/crontab/

[email protected]
30 11 * * * /path/to/your/command

MAILTO如果命令在 STDERR 上產生輸出,則透過該條目您將收到一封電子郵件

檢查進程是否掛起更加困難:您應該定義掛起的含義:運行超過一定時間?產生一些可辨識的行為?

您始終可以稍後運行第二個進程或腳本來檢查該進程是否仍在運行並採取適當的操作。

答案3

克羅尼托(https://cronitor.io)是我專門為此目的而建構的工具。它基本上可以歸結為一個追蹤信標,使用 http 請求來記錄 cron 作業/規劃任務的開始和結束。

使用 Cronitor 的好處之一是您可以靈活地編寫追蹤請求腳本,甚至可以撥打立即報告失敗的呼叫。有了這種靈活性,您可以為您的應用程式編寫包裝器來報告失敗發生故障時嘗試重新啟動腳本。

相關內容