1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| #!/bin/bash
FILE_NAME=`basename $0` cpunum=$2 pid_array=() function usage() { echo "Usage:$FILE_NAME consume cpu_number|release -----the value of cpu_number is an integer,such as 1,2,3" echo "Example: $FILE_NAME consume 12" echo " $FILE_NAME release" } function endless_loop() { echo -ne "i=0; while true do i=i+100; i=100 done" | /bin/bash & } function consume() { for i in `seq $1` do endless_loop pid_array[$i]=$! done echo "consume cpu resources process ids are: ${pid_array[*]}" } function release() { for pid in $(ps -ef |grep /bin/bash |grep -v grep |awk '{print $2}' |xargs) do kill -9 $pid done } function main() { case "$1" in consume) consume $cpunum;; release) release;; *) usage;exit 1;; esac } main $*
|