Supervisor -- Linux 进程管理

supervisor是一个Python开发的通用的进程管理程序,可以管理和监控Linux上面的进程,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启,但它不能管理原本就是daemon的进程。

1. 安装

pip install supervisor

2. 初始化配置文件

echo_supervisord_conf > /etc/supervisord.conf

3. 引入形式管理配置文件

创建目录存在配置文件
mkdir /etc/supervisord.d/
修改基础配置文件
[include]
files = /etc/supervisord.d/*.conf

4. 配置文件示例

在/etc/supervisord.d/目录下新增一个conf文件
[program:project_name]
directory = 工作目录
command = 脚本的启动命令
autostart = true
autorestart = true
user = loanward
stdout_logfile = /data/log/pro_stdout.log
  1. project_name 必须是唯一的,否则将会出现错乱
  2. directory 启动脚本时的工作目录
  3. command 执行脚本的命令,不需要使用 nohup 让其变为后代进程,supervisor 会自动将其变为后台进程
  4. autostart 默认为True, supervisor 启动时,任务跟随启动
  5. autorestart 默认为True, 进程不存在时会自动重启, 默认重启3次,想修改重启次数,可以配置 startretries, 设置最多重启的次数
  6. user 设置启动任务时所用的用户,supervisor 有必要使用root账号启动,这样才有权限配置其他启动账号
  7. stdout_logfile 配置输出日志

5. 启动supervisor

supervisord -c /etc/supervisord.conf

6. 使用supervisorctl 进行管理

supervisorctl 是 supervisord 的一个命令行客户端工具,使用 supervisorctl 可以遍历的对进程进行管理,支持的命令如下
supervisorctl status                         # 查看进程状态
supervisorctl stop project_name              # 终止某个进程
supervisorctl start project_name             # 启动某个进程
supervisorctl restart project_name           # 重启某个进程
supervisorctl reread                         # 更新配置,根据最新的配置启动程序,会启动已经运行的程序
supervisorctl update                         # 更新配置,重启配置有变化的进程,不会重启那些配置没有变化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值