shell编写显示ps相关脚本

编写脚本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
原文地址:https://www.cnblogs.com/ZCWang/p/12766058.html