supervisor使用

supervisord是一个进程管理工具,提供web页面管理,能对进程进行自动重启等操作。
优点:
- 可以将非后台运行程序后台运行
- 自动监控,重启进程
缺点:
- 不能管理后台运行程序
- 对多进程服务,不能使用kill关闭

  1. pip安装supervisord
    pip install supervisor

  2. 生成配置文件
    echo_supervisord_conf > /etc/supervisord.conf

  3. 修改配置文件

  4. 启动关闭
    启动:supervisord -c /etc/supervisord.conf
    关闭:supervisorctl shutdown

常用管理命令:

supervisorctl stop program_name  # 停止某一个进程,program_name 为 [program:x] 里的 x
supervisorctl start program_name  # 启动某个进程
supervisorctl restart program_name  # 重启某个进程
supervisorctl stop groupworker:  # 结束所有属于名为 groupworker 这个分组的进程 (start,restart 同理)
supervisorctl stop groupworker:name1  # 结束 groupworker:name1 这个进程 (start,restart 同理)
supervisorctl stop all  # 停止全部进程,注:start、restartUnlinking stale socket /tmp/supervisor.sock
、stop 都不会载入最新的配置文件
supervisorctl reload  # 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl update  # 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

遇到问题

supervisorctl报错FATAL Exited too quickly (process log may have details)
/var/log/supervisord.log出现gave up: qa entered FATAL state, too many start retries too quickly
解决方法:
qa已经通过其他方式启动了,需要先关闭掉。
参考: https://serverfault.com/questions/163392/supervisor-always-quit-process-with-exit-status-0-not-expected

你可能感兴趣的:(supervisor使用)