supervisor 是用 Python 开发的一套通用进程管理程序,能将一个普通的命令行进程变为后台 daemon,并监控进程状态,异常退出时能自动重启。
yum install epel-release
yum install supervisor
然后打开 /etc/supervisord.conf 在末尾添加一个需要持续运行的进程
[program:test1234]
command=/tmp/test1234
完成后启动 supervisord 服务,即可发现 test1234 进程也被启动起来了
root 14351 1 0 21:39 ? 00:00:00 /usr/bin/python /usr/bin/supervisord
root 14353 14351 0 21:39 ? 00:00:00 /tmp/test1234
当我们把 14353 进程 kill 掉,随后,会发现 test1234 进程又立即被启动起来了
root 14351 1 0 21:39 ? 00:00:00 /usr/bin/python /usr/bin/supervisord
root 15276 14351 0 21:43 ? 00:00:00 /tmp/test1234
同样使用 supervisorctl 命令也可以看到进程状态
[root@centos etc]# supervisorctl status
test1234 RUNNING pid 19047, uptime 0:01:56