很多时候,我们监控程序都使用supervisor,但是在一些小场景中,没必要安装额外的软件,并且supervisor对新手不太友好,需要根据他的语法格式进行撰写监控项目,所以我们使用简单的shell脚本通过crontab定时任务进行进程判断,当进程不存在时,对服务进行重启即可。
脚本:
echo 'if test $( pgrep -f soga | wc -l ) -eq 0; then echo "进程不存在" && /bin/systemctl restart soga; else echo "存在进程"; fi'>/root/soga chmod +x /root/soga echo "*/1 * * * * /root/soga > /dev/null 2>&1" >> /var/spool/cron/root
以上代码修改后直接在终端执行即可,需要修改的地方:
pgrep -f soga | wc -l 内的soga。进程名。 /bin/systemctl restart soga 服务启动方式。
执行后,crontab定时任务会每分钟检测一次,若检测进程不存在,会进行重启。