最近在linux下寫了一個指令碼需要在linux後臺一直執行,這裡我使用了supervisor來實現指令碼程式管理
一:supervisor安裝
1:yum安裝
yum install supervisor
2:pip安裝
pip install supervisor
二:supervisor常用命令
supervisorctl status //檢視所有程式的狀態
supervisorctl stop xx //停止指定程式(all為所有程式)
supervisorctl start xx //啟動指定程式(all為所有程式)
supervisorctl restart //重啟
supervisorctl update //配置檔案修改後使用該命令載入新的配置
supervisorctl reload //重新啟動配置中的所有程式
systemctl start supervisord.service //啟動supervisor並載入預設配置檔案
systemctl enable supervisord.service //將supervisor加入開機啟動項
三:將指定命令加入程式管理例項
1:supervisor配置
supervisor配置檔案:/etc/supervisord.conf
子程式配置檔案路徑:/etc/supervisord.d/ (子程式的配置檔案為ini格式)
我們增加一個命令到程式中只需要在子程式配置檔案目錄下建立一個ini程式檔案進行配置即可
例:vim /etc/supervisord.d/test.ini
在test.ini檔案中加入如下命令:
[program:test] #專案程式名稱
dircetory=/XXX #程式目錄
command=XXX #程式命令
autostart = true #在supervisord啟動的時候是否自動啟動
autorestart=false #程式退出後是否自動重啟
#日誌輸出
stderr_logfile=/tmp/client_stderr.log
stdout_logfile=/tmp/client_stdout.log
user=www #指令碼執行的使用者身份
2:將test程式加入程式管理
systemctl start supervisord.service
supervisorctl update
supervisorctl reload
supervisorctl start test
根據如上佈置就可以實現將指定指令碼加入程式管理