Linux 设置守护进程的方法

使用场景:有一个调度客户端运行在服务器节点种,用来反馈服务器运行情况和数据统计的功能。即使是nohup的情况下也会莫名其妙挂,可能是客户恶意误操作,发现客户想尝试破解关闭调度客户端,但是客户端和服务是绑定的,只要一个不能用,自动锁机。但是又不能明说,他尝试失败了还是会找你解决问题的,但是很麻烦就设置个守护进程。

两种思路:

一、利用Shell,写一个死循环脚本,来判断进程是否退出,如果退出就重启。缺点是死循环脚本也可能停止运行,这样下去就是俄罗斯套娃了。防止OOM

二、利用定时任务,每5分钟检测一次。

#!/bin/sh
ps -fe|grep {监控进程} |grep -v grep
if [ $? -ne 0 ]
then
echo "将启动脚本替换"
else
echo "runing....."
fi
#定时任务
*/1 * * * * xxxx
原文链接:Linux 设置守护进程的方法