Linux shell 进程检测及自启动脚本

#!/bin/sh
#author by JoshYoby 2019-11-26

appname=getkeytest
checkrun=`ps -ef | grep $appname | grep -v "grep" | wc -l` #返回 ps -ef 出来的所有字符串中含有 $appname 的进程个数

while true
do
#echo $checkrun
if [ 0 = $checkrun ]; then
    #进程不存在
    time2=$(date "+%Y-%m-%d %H:%M:%S")
    echo "$appname 服务宕机,正在重新启动"
    #echo "$appname 服务宕机,宕机时间为:"$time2>>$appname.log
	#./$appname $appname &
    sleep 1
    echo "$appname 重新启动成功!!!"
else
    #进程存在
	sleep 1
    echo "$appname 服务运行正常...持续监控中"
fi
# time=$(date "+%Y-%m-%d %H:%M:%S")
# echo "本轮监测完毕,当前时间为:"$time
done
#这里有一行

你可能感兴趣的:(Linux学习)