supervisor 工具监控进程
平时服务器上跑了很多小脚本,python的、php的、shell的、nodejs的,为了方便解决各种问题。
有些脚本要定时执行,配了cron,有些要以进程方式一直存在,并监听端口,用cron定期检测也可以,有现成的supervisor更好使。
// 安装supervisor
yum install supervisor
// 新增配置文件(centos7),centos 6 直接加到supervisord.conf
vim /etc/supervisord.d/app.ini
// 写入以下内容
[program:pro1]
command=node /opt/pro1/index.js
directory=/opt/pro1/
user=root
[program:pro2]
command= php /opt/pro2/index.php start
directory=/opt/pro2/
user=root
红色部分最好用全路径。
// 启动服务
// 启动服务
supervisord -c /etc/supervisord.conf
或者(centos 6)
service supervisord start
或者(centos7)
systemctl start supervisord.service
// 查看服务是否正常(出现上面配置的两个program表示正常)
supervisorctl status
// 关闭服务
supervisorctl shutdown
//进入supervisord控制台(下面的命令都是在supervisord控制台内使用)
supervisorctl
//supervisord控制台中查看日志
tail -f program名称
//supervisord控制台开始任务
start program名称
//重新读取配置并部署,对正在运行的program没有影响
update
//退出supervisord控制台
exit
// 设置supervisord服务开机自启(centos7)
systemctl enable supervisord.service
// 设置supervisord服务开机自启(centos 6)
chkconfig supervisord on