在做一個測試時,需要模擬服務器CPU占用滿的情況,在查閱相關資料后,發現網上程序不太好用,
原文在這:http://www.2cto.com/os/201304/202068.html
優化后如下:
#! /bin/sh # filename killcpu.sh if [ $# -ne 1 ] ; then echo "USAGE: $0 <CPUs>|stop" exit 1; fi stop() { while read LINE do kill -9 $LINE echo "kill $LINE sucessfull" done < pid.txt cat /dev/null > pid.txt } start() { echo "u want to cpus is: "$1 for i in `seq $1` do echo -ne " i=0; while true do i=i+1; done" | /bin/sh & pid_array[$i]=$! ; done for i in "${pid_array[@]}"; do echo 'pid is: ' $i ';'; echo $i >> pid.txt done } case $1 in stop) stop ;; *) start $1 ;; esac
運行方式:
啟動:./killcpu.sh 1
停止:killcpu.sh stop
