使用定时脚本,实时检测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