linux监控各进程CPU的使用情况(根据cpu核数)

#!/bin/sh
source /etc/profile
#echo $TERM
export TERM=xterm
Lcpu=3000

PID=`ps -ef|grep -v grep|grep tomcat-dr-80|awk '{print $2}'`
echo $PID

Cpu=`top -bn 1|grep $PID|awk -F "S" '{print $2}'|awk '{print $1}'`
echo $Cpu

Ccpu=$(echo "$Cpu > $Lcpu" | bc)       #计算cpu负载情况
#Ccpu=0
echo $Ccpu

#echo `echo $PID|awk '{print $0}'`
if [ "$PID" -gt "0" ];then     #查看该进程是否存在,如果该进程存在

if [ "$Ccpu" -lt "1" ];then      
echo "cpu使用率正常"
else
echo "cpu超载"
sleep 10

    if [ "$Ccpu" -lt "1" ];then
    echo "cpu使用率恢复正常"
    else
    for i in $PID
    do
    kill -9 $i
    echo "$PID已杀死..."
    done
    echo "tomcat-dr-80 is starting"
    /usr/local/tomcat/tomcat-dr-80/bin/startup.sh
    fi
fi

else               #如果该进程不存在,则直接启动
/usr/local/tomcat/tomcat-dr-80/bin/startup.sh
fi

 

你可能感兴趣的:(linux监控各进程CPU的使用情况(根据cpu核数))