Supervisor 程序監控自動重啟

2022-01-11 20:34:47 字數 1640 閱讀 5683

supervisor是乙個程序監控程式。

需求一:我現在有乙個程序需要每時每刻不斷的跑,但是這個程序又有可能由於各種原因有可能中斷。當程序中斷的時候我希望能自動重新啟動它,此時,我就需要使用到了supervisor

先弄懂兩個命令: 

supervisord: supervisor的伺服器端部分,啟動supervisor就是執行這個命令 

supervisorctl:啟動supervisor的命令列視窗。

需求二:redis-server這個程序是執行redis的服務。我們要求這個服務能在意外停止後自動重啟。 

安裝(centos下): 

yum install python-setuptools

easy_install supervisor

測試是否安裝成功: 

echo_supervisord_conf

建立配置檔案: 

sudo su#切換到root使用者,不然提示無許可權 

echo_supervisord_conf > /etc/supervisord.conf

修改配置檔案: 

在supervisord.conf最後增加:

[program:redis]

command = redis-server //需要執行的命令

autostart=true //supervisor啟動的時候是否隨著同時啟動

autorestart=true //當程式跑出exit的時候,這個program會自動重啟

startsecs=3 //程式重啟時候停留在runing狀態的秒數

(更多配置說明請參考:

執行命令: 

supervisord//啟動supervisor

supervisorctl//開啟命令列 

結果: 

redis running pid 24068, uptime 3:41:55

ctl中: help //檢視命令

ctl中: status //檢視狀態

遇到的問題:

q: redis出現的不是running而是fatal 狀態 

a: 應該要去檢視log,log在/tmp/supervisord.log

事實證明webdis也有這個問題,webdis要修改的是webdis.json這個配置檔案

完成驗證:

ps aux | grep redis 

[root@vm1~]# ps aux | grep redis 

root 30582 0.0 0.0 9668 1584 ? s 14:12 0:00 redis-server

kill 30582

[root@vm1 ~]# ps aux | grep redis 

root 30846 0.0 0.0 9668 1552 ? s 15:19 0:00 redis-server

看到這個時候pid更新了。

使用supervisor監控程序

10 26 09,876 info success meta.txn.recover.on.error entered running state,process has stayed up for than 1 seconds startsecs 2010 08 17 10 26 48,442 i...

supervisor管理程序監控安裝及配置

supervisor是乙個用來監控程序的程式,程式部署在linux下執行,在執行的過程中可能會因為某些原因導致中斷,手動重啟又比較麻煩,這時候就可以配置supervisord來管理這些程序,實現程序自動重啟。1.使用supervisor首先需要安裝,安裝supervisor又需要python的支援,...

supervisor 監控服務

寫了乙個ftp服務,用supervisor監控一下 1.先寫乙個配置檔案,路徑和名稱為 etc supervisord.conf.d ftp server.ini program ftp server command usr local bin python data ftp server ftp ...