使用定时脚本,实时检测jar包运行情况,挂掉以后,自动拉起

2019-03-15  本文已影响0人  火山脚下

monitor.sh 文件内容

#!/bin/bash
# “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行
# 变量
jarName=thymeleaf-1.0.jar

# grep -v grep: 在文档中过滤掉包含有grep字符的行
# awk '{print $2}': 按空格截取第二个
pid=`ps -ef|grep $jarName |grep -v grep| awk '{print $2}'`

echo "[info]进入监控脚本"`date +'%Y-%m-%d %H:%M:%S'`

while [ 1 -eq 1 ]
do
   
    # wc -l: jar包进程的数量
    num=`ps -ef|grep $jarName |grep -v grep| awk '{print $2}'| wc -l`

    # -eq: 等于
    if [[ $num -eq 0 ]]; then
        echo "[error]进程不存在,重启"`date +'%Y-%m-%d %H:%M:%S'`
        sh /usr/local/youq/push/start.sh
    else
        sleep 1
        echo "进程存在!"
    fi
    sleep 6
done

test.sh 文件内容

#!/bin/bash
setsid /usr/local/youq/push/monitor.sh > /usr/local/youq/push/2.txt 2>&1 &

然后将test.sh加入/etc/rc.local的最后一行


image.png
上一篇下一篇

猜你喜欢

热点阅读