写个shell脚本的死循环造成cpu占用率过高怎么写?

 我来答
yss624_
推荐于2017-05-17 · TA获得超过4.7万个赞
知道大有可为答主
回答量:9775
采纳率:77%
帮助的人:2581万
展开全部
使用死循环消耗CPU资源。
本脚本,如果是有多颗CPU,可以选择消耗多少颗CPU的资源;使用方法很简单,参数8表示消耗8颗CPU的资源,运行后,会有一堆 kill 命令,运行这些命令即可kill掉死循环进程。

#! /bin/b.sh
# filename killcpu.sh
endless_loop()
{
echo -ne "i=0;
while true
do
i=i+100;
i=100
done" | /bin/bash &
}

if [ $# != 1 ] ; then
echo "USAGE: $0 <CPUs>"
exit 1;
fi
for i in `seq $1`
do
endless_loop
pid_array[$i]=$! ;
done

for i in "${pid_array[@]}"; do
echo 'kill ' $i ';';
done
运行命令:./killcpu.sh 8
输出:kill 20926 ;
kill 20928 ;
kill 20930 ;
kill 20932 ;
kill 20934 ;
kill 20936 ;
kill 20938 ;
kill 20940 ;

用top看资源消耗。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式