天天看點

部署應用程式SupervisordWindows計劃任務NSSM

程序管理工具(Supervisor) :

Supervisor是用Python開發的一個client/server服務,是Linux/Unix系統下的一個程序管理工具,不支援Windows系統。它可以很友善的監聽、啟動、停止、重新開機一個或多個程序。用Supervisor管理的程序,當一個程序意外被殺死,supervisort監聽到程序死後,會自動将它重新拉起,很友善的做到程序自動恢複的功能,不再需要自己寫shell腳本來控制。

這裡有一篇也有用到 Supervisord,并且是一個部署 Flask 的 Web 應用的過程:

https://mp.weixin.qq.com/s/hGfG7e2xQZeXTwijlbMmbA

上面的工具不支援Windows,大概因為Windows不需要?

計劃任務可以自動重新開機挂掉的程序。

taskschd.dll 可以用 vbs/js 腳本或者 C#/C++等語言調用,自動生成任務。當然也可以圖形化界面來手動設定。

部署應用程式SupervisordWindows計劃任務NSSM

将任務設定成開機啟動,然後設定任務失敗重新啟動,應該就可以讓程式在運作失敗後重新啟動了。

用這個應該是最友善的了。

如果讓程式作為 “windows 的服務”,監控這些基本功能 windows 是自帶的。

是以隻需要實作Windows服務注冊。這可以寫在代碼裡,找一下現成的庫。

也可以使用現成工具來實作:

NSSM(the Non-Sucking Service Manager)是Windows環境下一款免安裝的服務管理軟體,它可以将應用封裝成服務,使之像windows服務可以設定自動啟動等。并且可以監控程式運作狀态,程式異常中斷後自動啟動,實作守護程序的功能。不僅支援圖形界面操作,也完全支援指令行設定

繼續閱讀