脚本:
#!/bin/bash
read -p "请输入要查询的PID:" PID
n=`ps -aux | awk '$2~/^'$PID'$/{print $11}' | wc -l`
if [ $n -eq 0 ];then
echo "该PID不存在!"
exit
fi
echo "-------------------------------"
echo "进程PID:$PID"
echo "进程命令:`ps -aux | awk '$2~/^'$PID'$/{print $11}'`"
echo "进程所属用户:`ps -aux | awk '$2~/^'$PID'$/{print $1}'`"
echo "CPU占用率:`ps -aux | awk '$2~/^'$PID'$/{print $3}'`%"
echo "内存占用率:`ps -aux | awk '$2~/^'$PID'$/{print $4}'`%"
echo "-------------------------------"
对脚本内容的解释:
- awk:文本分析工具
- ‘$2~/^’:波浪号~,表示正则匹配保障符
- ‘$/{print $11}’:该语句中的$符号,表示正则表达式中行的结束
- wc -l:统计一个文件的行数
脚本的执行结果:
请输入要查询的PID:1
-------------------------------
进程PID:1
进程命令:/sbin/init
进程所属用户:root
CPU占用率:0.4%
内存占用率:0.0%
-------------------------------