本文已参与[新人创作礼]活动,一起开启掘金创作之路
Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程. 它的目标与launchd, daemontools和runit有些相似, 但是与它们不一样的是, 它不是作为init(进程号pid是1)运行. 它是被用来控制进程, 并且它在启动的时候和一般程序并无二致. 那么通俗点,它的作用是什么?你的Nginx,Tomcat,memcache,Redis...会崩么,不会?好吧,那你自己写的服务器监测脚本呢?好吧,不要再纠结了,交给Supervisor吧,它会帮你维护这些,即使它们不小心崩了,Supervisor会帮你看住它们,维护它们。
- 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