监控一个进程,若不存在,自动重启应用

监控指定进程是否存在, 如不存在,重启应用。
下面是我监控的jboss进程, 当然你也可以替换成自己的应用。

vim monitor.sh

#!/bin/bash
LOG=/data/cron_log/jboss.log
NUM=`ps -ef | grep "/data/app/tiku-jboss-4.2.3.GA" | grep -v "grep" | wc -l`
kps=`ps -ef |grep "/data/app/tiku-jboss-4.2.3.GA" |grep -Ev "grep"|awk '{print $2}'`
if [ $NUM -eq 0 ]
then
kill -9 $kps
export JAVA_HOME=/data/app/jdk1.7
cd /data/app/tiku-jboss-4.2.3.GA/bin/
nohup ./run.sh -b 0.0.0.0 >> /data/app/tiku-jboss-4.2.3.GA/bin/nohup.out &
echo "`date +"%y-%m-%d %H:%M:%S"` jboss is start" >> $LOG
fi

配置计划任务, 每隔5分钟检测一次, 监控频率自己根据需求定义。
/30 * /usr/local/monitor.sh


Leave a Comment