【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都不会自动重启。

posted @ 2018-10-10 10:16  wangwust  阅读(2084)  评论(1编辑  收藏  举报