编写脚本checkCpu.sh,在脚本中三个函数:getPid、getCpu、checkCpu
getPid:参数1为当前用户名,参数2为进程名称(返回值为进程Pid)
getCpu:参数1为进程的pid(返回值为进程pid的cpu利用率)
checkCpu:参数1为当前用户名,参数2为进程名称 参数3. . . .(进程名称),无返回值(在函数中打印各个进程cpu占用率)
执行脚本checkCpu.sh时 ,参数1为进程1名称 参数2. . . .(进程名称列表)
#!/bin/bash
getPid(){
username=$1
processname=$2
ps -u $username | grep $processname|grep -v "checkCpu"|grep -v "grep" | awk '{print $1}';
}
getCpu(){
pid=$1
ps aux |grep -v "checkCpu"|grep -v "grep" |grep $pid|awk '{print $3}';
}
checkCpu(){
for processname in $*
do
echo "var = $processname"
pid=`getPid $USER $processname`
echo "pid = $pid"
ret=`getCpu $USER $pid`
echo "cat = $ret"
done
}
checkCpu $*
相关命令
ps -u $username | grep $processname|grep -v "checkCpu"|grep -v "grep" | awk '{print $1}';
查询对应进程cpu利用率
第一种
ps aux |grep -v "checkCpu"|grep -v "grep" |grep $pid|awk '{print $3}';
第二种
ps -p 6672 -o pcpu