以“秒”粒度自动监控指定进程

 crontab计划任务定义时间的格式是“分、时、日、月、周”,粒度最小也是“分”,如果想以秒作为粒度,我们可以用shell脚本来实现,这里介绍一个能以秒粒度运行,监控java程序,一旦java程序意外停止,脚本会自动去启动java。

脚本内容如下:

[root@slave scripts]# vim monitor.sh 
#!/bin/sh
#Program: monitor java process.
#Author: zhaochj
#Date: 2015-05-14
#Version 1.0
#
. /etc/init.d/functions
while true;do
    JAVAPID=`pgrep java`
    PROGRAM=/usr/local/tomcat/bin/catalina.sh
    if [ -z "$JAVAPID" ];then
        $PROGRAM start 1>/dev/null
    fi
sleep 5
done

此脚本采用一个“while true;do  done”的死循环,来执行循环体中的命令,再以“sleep 5”来控制循环的时间间隔为5秒,此脚本以“sh monitor.sh &”方式在后台运行即可。


本文出自 “专注运维,与Linux共舞” 博客,请务必保留此出处http://zhaochj.blog.51cto.com/368705/1651403

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。