侧边栏壁纸
博主头像
怪客のBlog 博主等级

行动起来,活在当下

  • 累计撰写 35 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Centos下安装Supervisor进程守护

怪客
2022-03-16 / 0 评论 / 0 点赞 / 455 阅读 / 0 字

使用yum安装

yum -y install supervisor

启动supervisor

supervisord -c /etc/supervisord.conf
or
supervisorctl -c /etc/supervisord.conf

查看supervisor 版本

supervisorctl version

查看supervisor 状态

supervisorctl status

新建进程配置文件(添加要守护的进程)

processName为自定义的进程配置文件名称

touch /etc/supervisord.d/processName.ini

编辑进程配置文件

vi /etc/supervisord.d/processName.ini

配置文件参考

#配置程序名称
[program:DemoProcess]
#运行程序的命令(示例.netCore程序启动)
command=dotnet DemoProcess.dll
#命令执行的目录
directory=/var/www
#进程环境变量
environment=ASPNETCORE_ENVIRONMENT=Production
#进程执行的用户身份
user=root
#进程停止信号,可以为TERM, HUP, INT, QUIT, KILL, USR1, or USR2等信号默认为TERM 。当用设定的信号去干掉进程,退出码会被认为是expected,非必须设置
stopsignal=INT
#如果是true的话,子进程将在supervisord启动后被自动启动,默认就是true,非必须设置
autostart=true
#这个是设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的退出码的时候,才会被自动重启。当为true的时候,只要子进程挂掉,将会被无条件的重启
autorestart=true
#这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了,默认值为1 。非必须设置
startsecs=1
#错误日志文件
stderr_logfile=/var/log/DemoProcess.err.log
#输出日志文件
stdout_logfile=/var/log/DemoProcess.out.log

重新启动

supervisorctl reload

查看进程是否运行

ps -aux | grep "DemoProcess"

配置Supervisor开机自启动

配置Supervisor开机自启动参数

vi /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
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42

[Install]
WantedBy=multi-user.target

开机自启动

systemctl enable supervisord

验证是否开机自启动

systemctl is-enabled supervisord

启动所有守护进程

要操作某个进程,把all换成进程名即可

supervisorctl start all

重启所有守护进程

supervisorctl restart all

停止所有守护进程

supervisorctl stop all

编辑Supervisor配置文件

vi /etc/supervisord.conf

保存Supervisor配置文件

supervisord -c /etc/supervisord.conf
0

评论区