Shell Script to Monitor process which stalled (cpu 100%)

人氣點閱:3566
發表人
Shell Script to Monitor process which stalled (cpu 100%) 2013-02-26 14:54
分類: ✔️echo ✔️echo
個人: ✔️echo ✔️echo
/ / /

Shell Script to Monitor process which stalled (cpu 100%)



Script: Use CutyCapt as an example


代碼:

#
# read last cutycapt pid
#
thisfile=/tmp/.cutycaptcheck

a=0
if [ -f "$thisfile" ]; then
        a=`head $thisfile | cut -b1-5`
fi

#
# record Capt into .cutycapcheck again
#
top -b -n 1 | grep Cuty > $thisfile

#
# read current pid
#
b=`head $thisfile | cut -b1-5`

#echo "a == $a"
#echo "b == $b"

if [ x"$a" = "x" ]; then
        logger "CutyCaptCheck: Do nothing (No A)"
        exit
fi

if [ x"$b" = "x" ]; then
        logger "CutyCaptCheck: Do nothing (No B)"
        exit
fi

if [ "$a" -eq "$b" ]; then
  logger "CutyCaptCheck: KILL pid = $a"
  kill -9 $a
else
        logger "CutyCaptCheck: Do nothing (A != B)"
fi



Then, modify the /etc/crontab if you it to run more frequently


e.g. Use "kill-CutyCapt" as an example
check if any CutyCapty stalled every 3 mins


代碼:

*/3     *       *       *       *       root    /usr/sbin/killcuty




_