0
点赞
收藏
分享

微信扫一扫

supervisor 命令


1. 安装 supervisor

# 方法1
easy_install supervisor

#方法2
yum instal1-y supervisor

#查看版本

2. 启动supervisor

# 方法1 
cd/1ib/systemd/system
systemctl start/stop/reload sppervisord.service

# 如果启动报错
systemctl list-unit-files --type=service l grep supervisor

#激活开机启动命令
systemctl enable supervisord.service
#验证是否开机启动
systemct1 is-enabled supervisord

#方法2
echo_supervisord_conf >/etc/supervisord.conf
vim /etc/supervisord.conf
#修改include中的file目录,改成如下
128 [inc lude]
129 fles =/etc/supervisor d.d/.ini

supervisord -c /etc/supervisord.conf

# 检查是否启动supervisor

3. 相关命令

# 当一个服务有自动启动修改为手动启动时,执行以不就ok 
supervisorctl reread

# 更新新的配置到supervisord(不会重启原来已经运行的程序)
supervisorctl update

# 载入所有的配黑文件,并按新的配需启动、管理所有的进程(会重启原来已运行的程序
supervisorctl reload

#查看状态
supervisorctl status

#日常启停服务

4. 配置

[program:fastapi]
environment=APP_CONFIG=dev ;设置环境变量
process_name=%(program_name)s-%(process_num)02d ;进程名称
command=/root/incm-monitor-service/venv/bin/python3 main.py --port=%(process_num)s; 被监控的进程路径
directory=/root/incm-monitor-service/src ;执行command前,先chdir 到此目录,所以上面main.py是相对路径
numprocs=6 ; 同时启动的进程数量
numprocs_start=5001 ; 变量%(process_num)从哪里开始计数,依次递增1
user=oper
autostart=true ; 随着supervisord的启动而启动
autorestart=true ; 自动重启
stopasgroup=true ; 停止父进程时会停止所有的子进程
stderr_logfile=NONE
stdout_logfile=NONE ; 不记录日志,由程序自己记录

# 如下拓展
priority=1 ; 数字越高,优先级越高
startretries=10 ; 启动失败时的最多重试次数
exitcodes=0 ; 正常退出代码
stopsignal=KILL ; 用来杀死进程的信号
stopwaitsecs=10 ; 发送SIGKILL前的等待时间
redirect_stderr=true ;


举报

相关推荐

0 条评论