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
-
-