您的位置:首页 > 运维架构 > Linux

linux中每10秒检测一次进程是否正常运行

2015-12-03 09:35 656 查看
在Linux服务的维护中有时需要经常检测后台进程是否运行正常,此时如果用crontab就不太容易实现了,因为crontab的检测时长分别为 分钟 小时 月 日 周
最短周期是一分钟,如果想写一个低于一分钟的计划任务就变得有点麻烦了
此时我们可以借助sleep来实现这种需求
关于sleep的具体应用感兴趣的朋友可以man一下,在这里就不在复制黏贴了,贴上一个小脚本
#!/bin/bash
declare a=$(ps -ef | grep "monitor" | grep -v "grep")
for i in `seq 6`;do
if [ "$a" ];then echo "monitor was already started">/dev/null
else echo "cdrmonitor restart at `date "+%Y-%m-%d %H:%M:%S"`" >>/home/tomcat/app/log;cd
/home/tomcat/app/monitor;nohup java -jar monitor-1.1.1.jar > /dev/null 2>&1 &
fi &sleep 10;
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息