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 &”方式在后台运行即可。