【Linux】- 守護進程supervisor安裝使用


 linux的守護進程類似於windows的服務。linux通過supervisor創建守護進程。https://blog.csdn.net/u014115673/article/details/54601800

1、安裝supervisor

sudo apt-get install supervisor -- ubuntu
yum install -y supervisor -- centos

安裝成功后,supervisor就會默認啟動,也會隨系統啟動。

CentOS安裝完成之后,默認不啟動,可以使用腳本啟動:

/usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf

 

2、有很多添加守護進程的方法,下面介紹一種最好用的一種,將每個進程的配置文件單獨拆分,放在/etc/supervisor/conf.d/目錄下,以.conf作為擴展名。

[program:OC] command=dotnet /home/Documents/OC/OC.Service.dll #被監控的進程啟動命令 /home/Documents/Lottery.OC 可以省略不寫 numprocs=1 #啟動進程的數量
startsecs=1 directory
=/home/Documents/OC/ #腳本所在的目錄 autostart=true #是否隨supervisor啟動 默認為true autorestart=true #是否自動重啟 三個選項false、unexpected、true,若為false,無論什么情況下都不自動重啟;若為unexpected,只有進程退出碼不在exitcodes里面時才重啟 startretries=10 #啟動失敗后的重試次數 exitcodes=0 #正常退出代碼 stopsignal=KILL #用來殺死進程的信號 stopwaitsecs=10 #發送stopsigal前的等待時間 redirect_stderr=true #重定向stderr到stdout stdout_logfile=logfile #指定日志文件

user=wangwust #腳本以什么用戶身份運行

這樣子就創建好了守護進程:OC

 

3、web操作界面創建

    在supervisor的配置文件supervisord.conf中添加一下代碼

[inet_http_server] port=0.0.0.0:9001 username=user password=123

 

 

 4、supervisor常用命令

supervisorctl version     #查看supervisor版本
supervisorctl start OC #啟動進程OC supervisorctl stop OC #停止進程OC supervisorctl start all #啟動所有進程 supervisorctl stop all #停止所有進程 supervisorctl status #查看所有進程狀態 supervisorctl reload #載入最新的配置文件,停止原有進程並按新的配置啟動、管理所有進程。 supervisorctl update #根據最新的配置文件,啟動新配置或有改動的進程,配置沒有改動的進程不會受影響而重啟。

5、supervisor啟動和停止的日志文件存放在/var/log/supervisor/supervisord.log

注意:顯式用stop停止掉的進程,用reload或者update都不會自動重啟。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM