進程監控工具supervisor

守護進程(Daemon)是一種運行在後臺的特殊進程,
它獨立於控制終端並且週期性的執行某種任務或等待處理某些發生的事件。
監控服務器的主要後臺進程,並在出現問題是自動重啓。
使用原因
1、它是微軟官方文檔推薦的,降低學習成本。
2、它並不一定是最好的,但一定是文檔最全的。
supervisord是supervisor的服務端程序。
supervisorctl就是client的客戶程序。
安裝
supervisor-3.1.3.tar.gztar -zxvf supervisor-3.1.3.tar.gzcd supervisor-3.1.3sudo python setup.py install
生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
修改默認配置
[inet_http_server] port=*:9001 ;這裏*表示可以讓其他終端訪問supervisor web界面username=username ; 用戶名 password=password ; 密碼
修改進程
[program:test_http]
command=python test_http.py 501 ; 被監控的進程路徑
directory=/home/admin/soft/supervisor-3.1.3 ; 執行前要不要先cd到目錄去,一般不用
priority=1 ;數字越高,優先級越高
numprocs=1 ; 啓動幾個進程
autostart=true ; 隨着supervisord的啓動而啓動
autorestart=true ; 自動重啓。。當然要選上了
startretries=10 ; 啓動失敗時的最多重試次數
exitcodes=0 ; 正常退出代碼(是說退出代碼是這個時就不再重啓了嗎?待確定)
stopsignal=KILL ; 用來殺死進程的信號
stopwaitsecs=10 ; 發送SIGKILL前的等待時間
redirect_stderr=true ; 重定向stderr到stdout
stdout_logfile=/home/jihite/log/supervisor.log

啓動
sudo supervisord -c /etc/supervisord.conf

命令管理
sudo supervisorctl
status: 查看當前運行的進程列表
stop xxx: 停止某一個進程(xxx),xxx爲[program:theprogramname]裏配置的值。
start xxx: 啓動某個進程
restart xxx: 重啓某個進程
stop groupworker: 重啓所有屬於名爲groupworker這個分組的進程(start,restart同理)
stop all,停止全部進程,注:start、restart、stop都不會載入最新的配置文件。
reload 重新配置配置中的所有程序
update 更新新的配置到supervisord
關閉superviso
supervisorctl shutdown
查看進程是否運行:ps -ef|grep supervisor
查看任務狀態:supervisorctl

對列進程
supervisorctlstart app
supervisorctl stop app
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章