monbycpu.sh

来自「Linux Shell 编程」· Shell 代码 · 共 38 行

SH
38
字号
#!/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 + =
减小字号Ctrl + -
显示快捷键?