基本:
supervisord 是服務端。
supervisorctl 是用戶端。
supervisord啟動成功後,可以通過supervisorctl用戶端控制程序,啟動、停止、重新開機。
運作supervisorctl指令,不加參數,會進入supervisor用戶端的互動終端,并會列出目前所管理的所有程序。
指令:
生成配置檔案
echo_supervisord_conf > supervisord.conf
加載配置
supervisord -c supervisord.conf
開啟/停止某個程式
supervisorctl [start | stop] [program名稱]
檢視程序狀态
supervisorctl status
改了配置後
supervisorctl update
supervisorctl reload
supervisorctl status
控制台看監控程序輸出
supervisord -n
日志 :
日志是配置的。預設/tmp/supervisord.log
如果啟動不了:
supervisorctl tail program_name stdout
一個典型的配置:
[program:Ringing]
environment=GOPATH="/home/xiaoju/work"
command=./output/bin/Ringing ;執行指令
process_name=%(program_name)s
autostart=true ; 程式是否随supervisor啟動而啟動
autorestart=true ;程式停止時,是否自動重新開機
startsecs=10
stderr_logfile=/var/log/supervisor/test.err.log ;得讓路徑可以進入 需要 chmod 一下。
stdout_logfile=/var/log/supervisor/test.out.log