天天看點

Qt編寫守護程式保證程式一直運作(開源)

沒有任何人敢保證自己寫的程式沒有任何BUG,尤其是在商業項目中,程式量越大,複雜度越高,出錯的機率越大,尤其是現場環境千差萬别,和當初本地電腦測試環境很可能不一樣,有很多特殊情況沒有考慮到,如果需要保證程式7*24小時運作,則需要想一些辦法能夠讓程式死了能夠活過來,在嵌入式linux上,大部分會采用看門狗的形式來處理,程式打開看門狗驅動後,定時喂狗,一旦超過規定的時間,則硬體軟複位等。這種方式相對來說比較可靠,如果需要在普通PC機上運作怎辦呢?本篇文章提供一個軟體實作守護程序的辦法,原理就是udp通信,單獨寫個守護程序程式,專門負責檢測主程式是否存在,不存在則啟動。主程式隻需要啟動live類監聽端口,收到hello就回複ok就行。

為了使得相容任意程式,特意提煉出來共性,增加了多種設定。

1:可設定檢測的程式名稱。

2:可設定udp通信端口。

3:可設定逾時次數。

4:自動記錄已重新開機次數。

5:自動記錄最後一次重新開機時間。

6:是否需要重新重新整理桌面。

7:可重置目前重新開機次數和最後重新開機時間。

8:自動隐藏的托盤運作或者背景運作。

9:提供界面設定程式名稱已經開啟和暫停服務。​

Qt編寫守護程式保證程式一直運作(開源)
Qt編寫守護程式保證程式一直運作(開源)
Qt編寫守護程式保證程式一直運作(開源)

守護進行核心代碼:

使用主程式核心代碼:

繼續閱讀