您的位置:首页 > 博客中心 > 网络系统 >

shell判断文件是否有变化

时间:2022-04-03 11:14


      java假死,但是进程还在,可以通过判断一段时间内日志文件是否有变化,来判断java是否假死

      shell脚本如下:
  

   

#!/bin/bash
#
#通过比较五分钟前后,日志文件md5值是否相同,来判断日志文件是否有变化,从而判断java是否假死
#请根据实际情况,修改环境变量,项目路径
#加入计划任务执行
#
function RestartJava()
{
export  JAVA_HOME=/opt/apps/jdk1.6.0_41
export  PATH=$PATH:/opt/apps/jdk1.6.0_41/bin
export  CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/rt.jar
JavaPath="/opt/apps/apache-tomcat-6.0.37"
JavaId=$(ps -ef|grep java  |grep $JavaPath |grep -v "grep" |awk ‘{print $2}‘)

kill -9 $JavaId
cd $JavaPath/bin && /bin/bash startup.sh
}

#while [ 1 ]
#do
First=`md5sum /opt/shell/nohup.out |awk ‘{print $1}‘`
sleep 300
Second=`md5sum /opt/shell/nohup.out |awk ‘{print $1}‘`

if [[ $First == $Second ]]
then
        echo "start restart java" >/dec/null 2>&1
        RestartJava
fi

#done


本文出自 “” 博客,请务必保留此出处

热门排行

今日推荐

热门手游