sh 在一秒钟内重复评估CPU占用最多的CPU(至少保持一个核心忙于100%)并且杀死p
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 在一秒钟内重复评估CPU占用最多的CPU(至少保持一个核心忙于100%)并且杀死p相关的知识,希望对你有一定的参考价值。
#!/bin/bash
declare -a pids
for i in {1..10}
do
toptask=$(ps -eo pcpu=,pid= | sed 's/^ *//' | tr -s ' ' '\t' | sort -grk1 | head -1)
cpu=$(echo $toptask | tr -s ' ' '\t' | cut -f1 | cut -d. -f1)
pid=$(echo $toptask | tr -s ' ' '\t' | cut -f2)
if (( cpu > 100 )); then
pids+=($pid)
fi
sleep 0.1
done
if [ ! -z ${pids[*]} ]
then
pid=$(echo ${pids[*]} | tr ' ' '\n' | sort | uniq -c | sed 's/^ *//' | tr -s ' ' '\t' | sort -grk1 | head -n1 | cut -f2)
kill -9 $pid
echo "Killed $pid. That was a rogue one!"
else
echo "No rogue process. Nothing done!"
fi
以上是关于sh 在一秒钟内重复评估CPU占用最多的CPU(至少保持一个核心忙于100%)并且杀死p的主要内容,如果未能解决你的问题,请参考以下文章
查看当前cpu和内存占用最多的的程序
查看linux占用内存/CPU最多的进程
查看linux占用内存/CPU最多的进程
查看Linux占用内存/CPU最多的进程
linux怎么查看占用内存或cpu最多的进程
linux查看占用的CPU内存资源最多