📄 monbycpu.sh
字号:
#!/bin/bash# 监测的网络接口ETH=eth1# 监测的时间间隔,秒计INTERVAL=10# 进程中各线程cpu占有率之和的最小值DIFFERENCE=40# 监测和进程名PRGNAME=tcpkill*#纪录cpu占有率小于规定值的次数的阀值,超过次阀值,重起SUMERROR=10#纪录cpu占有率小于规定值的次数Record=0#为了在比较时取整,Now和DIFFERENCE都需乘上一个系数,这里用1000DIFFERENCE=$[DIFFERENCE*1000]while true;doNow=0Now=`ps aux|grep tcpkill|awk '{sum=sum+$3}END{sum=sum*1000;print sum}'`#echo "cpu of $PRGNAME is $Now"if [ $Now -lt $DIFFERENCE ]; then Record=$[Record+1] #echo "record is $Record"fi# echo $Record# echo $SUMERRORif [ $Record -ge $SUMERROR ];then #echo "kill tcpwatch" /usr/bin/killall -9 $PRGNAME sleep 10 ./$PRGNAME -d $ETH Record=0fi sleep $INTERVALdone
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -