Shell监控进程是否存在

DevOps

2020-07-23

11

0

cat /tmp/jiankong.sh

#!/bin/sh

proc_name="tomcat" #进程名

file_name="/tmp/listen.log"
pid=0
proc_num()
{
  num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
  return $num 

}
proc_id()

    pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'` 

proc_num
number=$? 
if [ $number -eq 0 ]                                    # 判断进程是否存在 
then  
    cd /app/tomcat/; ./shutdown.sh Cycle    # 重启进程的命令
    cd /app/tomcat/;./start.sh Cycle    # 重启进程的命令
    proc_id                                         # 获取新进程号 
    echo ${pid}, `date` >> $file_name      # 将新进程号和重启时间记录 
fi 

#添加到每小时的25分钟执行一次(自行设定)

[root@grafana-1 ~]# crontab -l
25 * * * * source /etc/profile;cd /tmp; ./jiankong.sh

 

发表评论

全部评论:0条

lmy233

努力工作学习生活的人呐~~

联系方式

神圣之子仅供学习交流
E-mail:limengyu233@163.com
github:https://github.com/lmy01