python实现的一款用于 监控&控制 类UNIX系统上进程的C/S系统,能很方便的对子进程进行 监听、启动、停止、重启安装sudo yum -y install supervisor配置配置文件路径
.
python实现的一款用于 监控&控制 类UNIX系统上进程的C/S系统,能很方便的对子进程进行 监听、启动、停止、重启
.安装
sudo yum -y install supervisor
配置
- 配置文件路径
/etc/supervisor/conf.d/进程名.conf
- 配置生效需要重启
[program:进程名]process_name=%(program_name)s_%(process_num)02ddirectory=进程工作目录command=进程命令autostart=true #服务启动时带起本进程autorestart=true #进程异常自动重启user=进程启动用户numprocs=1 #当>1时, process_name必须有%(process_num)priority=-1 #运行优先级,默认-1stopsignal=QUIT #kill进程的信号,默认是TERMredirect_stderr=true #标准错误重定向到标准输出stdout_logfile=/dev/nullstdout_logfile_maxbytes=0stdout_logfile_backups=0stderr_logfile=/dev/nullstderr_logfile_maxbytes=0stderr_logfile_backups=0
服务端
- 负责启动并管理配置的子进程
- 响应客户端命令
# 启动管理服务supervisord [-c /etc/supervisor/supervisord.conf]
客户端
- 交互式
Shell
模式
./supervisorctlstatusreread #读入配置文件(仅需新增配置文件时操作)update program_name #更新进程组配置start program_name:* #启动进程
- 直接执行命令模式
# 服务管理 supervisorctl shutdown #关闭daemon服务 supervisorctl reload #重启daemon服务 supervisorctl reread #读入配置文件(仅需新增配置文件时操作) # 进程管理 supervisorctl status #进程列表状态 supervisorctl update program名|all #更新进程组配置 supervisorctl restart program名|all supervisorctl start program名|all supervisorctl stop program名|all
注意
program_name
用于supervisord
内部的进程组标识,并不是Linux
中的进程名ps命令
能找到command
, 但找不到program_name