最近在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
根據如上佈置就可以實現將指定腳本加入進程管理