进程管理——supervisor

 

1.介绍

 + 官网:http://supervisord.org/
  • 一语概之:python编写的进程管理工具。 统一管理:进入supervisor,管理所有进程

    • 异常退出自动重启

    • 方便控制的web界面

 

2.使用
  • 安装:网上太多例子,不再赘述。————linux环境!!!!!

  • 初始化:echo_supervisord_conf >/etc/supervisor # 初始化配置路径与启动命令路劲参数需要一致

    • 一个命名为 supervisord.conf的文件在/etc/supervisor生成---配置文件(supervisord.conf)

    • 修改配置文件(supervisord.conf)的两部分,完成配置:

      • 打开web服务器

        [inet_http_server] ; inet (TCP) server disabled by default port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface username=user ; default is no username (open server) password=123 ; default is no password (open server)

      • 关联进程配置文件

        [include] files = conf.d/*.conf

  • 配置进程文件

    • 在上面files的对应文件中,创建进程配置文件

    • 主要内容

      [program:test_one] command = /usr/bin/python3 /home/chenmo/文档/code/tmp_code/test_01.py ; 被监控的进程路径 priority=1 ; 数字越高,优先级越高 numprocs=1 ; 启动几个进程 autostart=true ; 随着supervisord的启动而启动 autorestart=true ; 自动重启 startretries=10 ; 启动失败时的最多重试次数 exitcodes=0 ; 正常退出代码 stopsignal=KILL ; 用来杀死进程的信号 stopwaitsecs=10 ; 发送SIGKILL前的等待时间 redirect_stderr=true ; 重定向stderr到stdout redirect_stderr = true stdout_logfile = /home/chenmo/%(program_name)s.std # 进程输出文件位置

       

3.注意
  • 1.子进程配置文件

    • command 后面的命令需要需要写绝对路径(which),配置文件中无法使用环境变量

    • stdout_logfile是进程的输出文件,任何输出打印都在日志文件中体现

  • 2.supervisor启动时会启动自动启动的进程,有测试的死循环进程防止电脑爆

     

4.常用命令
+  启动supervisor    supervisord -n -c /etc/supervisor/supervisord.conf 
  • 进入控制台管理 sudo supervisorctl -i

    • 查看进程信息: status + 启动某个进程序: start

      • 关闭某个进程: stop

      • 重启所有进程: restart

      • 修改配置文件后重新启动: reload

  • 进入web管理页面

    • 用户: user

    • 密码:123

    • 网址:127.0.0.1:9001

  • 非supervisor命令

    • 查看supervisor进程 ps -aux | grep super*

    • 关闭进程 kill pid

    •  

 

 

上一篇:「Supervisor」- 创建首个配置文件 @20210313


下一篇:supervisor控制后台守护进程启动,nginx部署项目,负载均衡,反向代理,动静态请求分离,前后端分开部署,后端允许跨域