回覆列表
  • 1 # AioT智慧家居

    可以透過watchdog機制來保證程式24小時執行。總之你得有一個程式監控你的程式執行,並且在它崩潰的時候及時拉起來。

  • 2 # 程式設計師小助手

    簡單了說,你需要的僅僅是一個守護程序。

    在 Linux 系統下,有很多應用是需要不間斷處理任務的,比如 sshd 服務,mysqld 服務。

    現在的 CENTOS7 發行版,預設使用 systemd 作為系統程序啟動管理工具。

    如果用windows的方法來說,就叫——“服務”。

    下圖就是 systemd 作者Lennart Poettering

    如何新增一個系統服務?

    Linux下很簡單,使用 systemd 可能你僅需要一個

    mytask.service

    檔案,並輸入類似以下內容:

    上面這個就是讓 systemd 控制你的指令碼

    mytask.sh

    不退出。一旦發生退出,就在30秒內重啟。

    mytask.sh

    檔案可以自由發揮。只要求一點,如果有系統級的 exit,就會觸發 systemd 的 Restart 配置項,進行重啟。

    結語

    所以,你不需要 exit,也應該儘量避免 exit。

    錯誤異常,可以手動收集處理。

  • 3 # 知了小巷

    24小時執行的程式即程式在後臺被執行後不在程序被外部kill的話,一直執行著。

    通用模式是while(true){...}

    然後在...省略號裡進行業務邏輯的程式碼展開和實現,比如分層,建立新的執行緒非同步執行埠監聽等等。

  • 中秋節和大豐收的關聯?
  • 為什麼有的人極度痛苦卻要假裝快樂?