supervisor 进程管理工具

  • Supervisor 简介

supervisor  是一个用python写的小工具, 目的是监控进程。

他以子进程的形式创建那些需要被监控的进程(在 supervisord.conf 中添加),

当子进程异常退出时, 他会重启该子进程;

注意这里必须时异常(throw new Exception)退出他才会重启,

如果是正常退出(return,  exit )是不会重启的。

 

 

  • 安装supervisor

 

apt install supervisor

 

默认配置文件路径:

/etc/supervisor/supervisord.conf 

 

 

配置项保持默认即可, 不需要改动。

 

 

 

  • 使用supervisor

 

  1. 添加需要被监控的进程

 

index.php :

 

echo "Hello World";

sleep(10);

throw new \Exception("Hello World);

 

 

在  /etc/supervisor/supervisord.conf 末尾加入

 

[program:hello]

command=php /wwwroot/bug.3322.org/index.php

 

 

 

在index.php代码中故意抛出了异常, 查看supervisord.log日志就能发现进程异常退出, 然后又重启了。

 

 

  1. 启动supervisord

 

supervisord -c /etc/supervisor/supervisord.conf 

 

-c : 指定配置文件路径

 

如果修改了配置, 无需重启进程,可通过下面的supervisorctl 来热更新配置文件

 

  1. 进程管理工具supervisorctl

 

supervisorctl 可用于管理supervisord 以及其子进程

 

比如:

 

热更新supervisord进程的配置文件

 

supervisorctl update

 

启动所有子进程

 

 supervisorctl start all        

 

查看子进程的状态

 

 supervisorctl status

 

 

重启子进程

 

supervisorctl restart all

 

 

  • supervisor日志

 

Supervisor 默认会生成3个日志文件:

 

/var/log/supervisor/hello-stderr---supervisor-S3lrCS.log  子进程的错误日志

 

/var/log/supervisor/hello-stdout---supervisor-t35eJP.log  子进程的输出日志

 

/var/log/supervisor/supervisord.log  子进程的启动/退出相关日志

 

  • 事件监听

 

事件监听目的是当监听到子进程异常退出时可以通知(邮件或其他)相关人员。

 

详细使用参考:

http://www.supervisord.org/events.html

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT界鸟叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值