Supervisor进程管理工具

  • 进程管理工具
    • 启动/停止/自动重启程序, 而且还可以对多个程序分组管理
  • 安装
    • 在python3兼容性不好, 需要使用python2进行安装 sudo pip install supervisor
  • 配置
    • 生成默认配置
      echo_supervisord_conf > supervisord.conf
    • 在/etc/下创建supervisor目录, 修改默认配置
      [include]
      files = /etc/supervisor/*.conf
  • 配置程序的配置文件
[group:toutiao]
programs=toutiao-app
programs=im

[program:toutiao-app]
command=/home/python/scripts/toutiao_app.sh  # 通过哪个脚本来启动指定的应用
directory=/home/python/toutiao-backend  # 程序的目录
user=python  # 启动的用户
autorestart=true  # 是否自动重启
redirect_stderr=false  # 出错后是否写入Supervisor专门的日志
loglevel=info  # Supervisor的日志级别
stopsignal=KILL  # stop操作使用的命令
stopasgroup=true  # 停止进程时, 是否一起停止其子进程
killasgroup=true

[program:im]
command=/home/python/scripts/im.sh
directory=/home/python/im
user=python
autorestart=true
redirect_stderr=false
loglevel=info
stopsignal=KILL
stopasgroup=true
killasgroup=true

  • 执行配置
supervisord -c /etc/supervisord.conf
  • 注意点
    • 如果没有设置好脚本文件及可执行权限, 则需要杀死配置进程并重新配置
  • 管理应用
supervisorctl

> status    # 查看程序状态
> start apscheduler  # 启动 apscheduler 单一程序
> stop toutiao:*   # 关闭 toutiao组 程序
> start toutiao:*  # 启动 toutiao组 程序
> restart toutiao:*    # 重启 toutiao组 程序
> update    # 重启配置文件修改过的程序

原文地址:https://www.cnblogs.com/oklizz/p/11449176.html