案例:每10秒钟检测tomcat进程,如果连续三次进程不存在,则启动tomcat。
脚本demo:
---------------------------------------------------------------------------------------------------------------------------------------------------
#!/bin/bash
check_tomcat () {sum=`ps -ef|grep "jdk1.7.0_65" |grep "apache-tomcat-7.0.72" |grep -v "grep"|wc -l`
echo $sum
}
while :;do #equal while true;
flag=0
echo `date "+%Y%m%d %H%M%S"`" ${flag} start--------" >>./0725.log
while [ `check_tomcat` -eq 0 ] ;do
flag=`expr $flag + 1`
if [ $flag -lt 3 ];then
sleep 10
echo `date "+%Y%m%d %H%M%S"`"$flag " >>./0725.log
else
/usr/local/apache-tomcat-7.0.72/bin/startup.sh >/dev/null 2>&1
echo `date "+%Y%m%d %H%M%S"`" ${flag} start-tomcat" >>./0725.log
break
fi
done
sleep 10
echo `date "+%Y%m%d %H%M%S"`" OUT_-----------" >>./0725.log
done
-------------------------------------------------------------------------------------------------------------------------------------------
假设脚本名称为 demo.sh,则通过如下命令运行脚本即可:
./demo.sh &
关闭命令:
kill -9 PID
说明:以上脚本为demo,具体检测时间,tomcat路径,日志信息等需要自己修改。