1:安裝 supervisor
建立日誌資料夾: sudo mkdir -p /var/log/supervisor
執行安裝命令:sudo yum install supervisor
2:配置環境變數
sudo vim /usr/lib/systemd/system/supervisord.service
寫入如下內容:
[unit]
description=process monitoring and control daemon
after=rc-local.service nss-user-lookup.target
[service]
type=forking
execstart=/usr/bin/supervisord -c /etc/supervisord.conf
[install]
wantedby=multi-user.target
3:supervisor常用配置與新增程式到守護程序
sudo vim /etc/supervisord.conf
file=/tmp/supervisor.sock
logfile=/tmp/supervisord.log -- 日誌檔案,可以看到子程式啟動情況
pidfile=/tmp/supervisord.pid
serverurl=unix:///tmp/supervisor.sock ;通過unix socket連線supervisord,路徑與unix_http_server部分的file一致
[include]
files = supervisord.d/*.ini --- 注意配置專案錄
新增乙個程式監控到守護程序內
cd /etc/supervisor.d
新增乙個 .ini檔案,大體內容如下
[program:自己程式名稱]
process_name=%(program_name)s_%(process_num)02d
command= 自己指令碼啟動命令
autostart=true
autorestart=true
user=apache
numprocs=1
startretries=3
redirect_stderr=true
stdout_logfile=日誌檔案 ***.log
儲存後重新載入配置項,執行:
sudo supervisorctl update
啟動單個程式:sudo supervisorctl start 自己程式名稱:自己程式名稱_00
4:操作supervisor
sudo systemctl start supervisord -- 啟動supervisor
sudo systemctl stop supervisord.service -- 停止supervisor
sudo systemctl restart supervisord.service -- 重啟supervisor
sudo supervisorctl stop groupworker -- 重啟所有屬於名為 groupworker 這個分組的程序(start,restart 同理)。
sudo supervisorctl stop all -- 停止全部程序,注:start、restart、stop 都不會載入最新的配置檔案。
sudo supervisorctl reload -- 載入最新的配置檔案,停止原有程序並按新的配置啟動、管理所有程序。
sudo supervisorctl update -- 根據最新的配置檔案,啟動新配置或有改動的程序,配置沒有改動的程序不會受影響而重啟
注意:以上操作是針對整個守護程序,如果裡面有多個子程式都會收到影響
檢視當前守護程序下,所有的子程式狀態
[develop@vm_221_0_centos tmp]$ sudo supervisorctl status
test:test_00 running pid 4100, uptime 1:34:52
第一列:程式名稱每個配置檔案內的program:***xx
第二列:running 指令碼狀態
第三列:pid 指令碼pid
第四列:uptime
5:操作守護程序裡單個程式
sudo supervisorctl stop test:test_00 # 停止
sudo supervisorctl start test:test_00 # 啟動
sudo supervisorctl restart test:test_00 #重啟某個程序
守護程序 supervisor
安裝 yum install superviosr 如果提示 缺少 epel release 則要先安裝 yum install epel release 啟動supervisor supervisord c etc supervisord.conf supervisorctl c etc supe...
Supervisor 程序守護
先看下本機是否有 我的本機已經有了。root a1 supervisord.d whereis supervisord supervisord usr bin supervisord etc supervisord.d etc supervisord.conf root a1 supervisord...
supervisor程序守護
supervisor是用python開發的乙個client server服務,是linux unix系統下的乙個程序管理工具。可以很方便的監聽 啟動 停止 重啟乙個或多個程序。用supervisor管理的程序,當乙個程序意外被殺死,supervisor監聽到程序死後,會自動將它重啟,很方便的做到程序...