一、开启命令
- supervisor的服务器端部分启动命令:
- sudo unlink /var/run/supervisor.sock
- supervisord -c /etc/supervisor/supervisord.conf 此时默认开启了所有服务
supervisor的客户端部分命令:
- supervisorctl status 查看进程运行状态
- supervisorctl start 进程名 启动进程
- supervisorctl stop 进程名 关闭进程
- supervisorctl restart 进程名 重启进程
- supervisorctl update 重新载入配置文件
- supervisorctl shutdown 关闭supervisord
- supervisorctl clear 进程名 清空进程日志
- supervisorctl 进入到交互模式下。使用help查看所有命令。
- start stop restart + all 表示启动,关闭,重启所有进程。
二、关闭命令
- supervisorctl stop all先关闭supervisor服务
之后再关闭supervisord服务 - kill -9 pid
三 supervisor文件的分级管理
- 在文件supervisord.conf文件中进行文件配置, 在文件的最后加上一行, 例如:
[include]
files = /local/service/supervisor/conf/*.ini
- 根据添加的代码可知, 其他的启动程序的文件都放到了conf文件夹下, conf文件夹下文件展示:
celery-server.ini cpv-server.ini
- 文件内容配置如下:
[program:cpv-server-batchrec]
directory=/home/deploy/research/workspace/cpv_server
command=/home/deploy/anaconda3/envs/cpv_server/bin/gunicorn cpv_celery:flask_app --workers 1 --bind 0.0.0.0:xxxx --log-level=debug
- 说明: 这样就将任务从supervisord.conf文件中分离出来了, 然后启动的时候需要更新任务即执行如下命令:
supervisorctl update
执行完以上代码之后, 才可以启动任务执行如下命令:
supervisorctl start 服务名称(即上述ini文件中的program的名字)