背景:

      項目中遇到有些腳本需要通過后臺進程運行,保證不被異常中斷,之前都是通過nohup、&、screen來實現(xiàn),帶著能否做一個start/stop/restart/reload的服務(wù)啟動的想法找到里Supervisor。關(guān)于supervisor的介紹在網(wǎng)上大致搜索總結(jié)如下:

      Supervisor是用Python開發(fā)的一套通用的進程管理程序,能將一個普通的命令行進程變?yōu)楹笈_daemon,并監(jiān)控進程狀態(tài),異常退出時能自動重啟。它是通過fork/exec的方式把這些被管理的進程當(dāng)作supervisor的子進程來啟動,這樣只要在supervisor的配置文件中,把要管理的進程的可執(zhí)行文件的路徑寫進去即可。也實現(xiàn)當(dāng)子進程掛掉的時候,父進程可以準(zhǔn)確獲取子進程掛掉的信息的,可以選擇是否自己啟動和報警。supervisor還提供了一個功能,可以為supervisord或者每個子進程,設(shè)置一個非root的user,這個user就可以管理它對應(yīng)的進程。

說明:

1,安裝

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

1:easy_install 安裝:
easy_install supervisor2:pip 安裝:
pip install supervisor3:Debian / Ubuntu可以直接通過apt安裝:
apt-get install supervisor

網(wǎng)友評論