有时我们想只是通过一个进程PID就可以输出该进程的相关信息,可以怎么处理呢?下面用shell脚本来实现这个需求。
根据PID过滤进程所有信息#! /bin/bash# copyright by hwb# Function: 根据用户输入的PID,过滤出该PID所有的信息read -p \"请输入要查询的PID: \" Pn=`ps -aux| awk '$2~/^'$P'$/{print $11}'|wc -l`if [ $n -eq 0 ];then echo \"该PID不存在!!\" exitfiecho \"--------------------------------\"echo \"进程PID: $P\"echo \"进程命令:`ps -aux| awk '$2~/^'$P'$/{print $11}'`\"echo \"进程所属用户: `ps -aux| awk '$2~/^'$P'$/{print $1}'`\"echo \"CPU占用率:`ps -aux| awk '$2~/^'$P'$/{print $3}'`%\"echo \"内存占用率:`ps -aux| awk '$2~/^'$P'$/{print $4}'`%\"echo \"进程开始运行的时刻:`ps -aux| awk '$2~/^'$P'$/{print $9}'`\"echo \"进程运行的时间:`ps -aux| awk '$2~/^'$P'$/{print $10}'`\"echo \"进程状态:`ps -aux| awk '$2~/^'$P'$/{print $8}'`\"echo \"进程虚拟内存:`ps -aux| awk '$2~/^'$P'$/{print $5}'`\"echo \"进程共享内存:`ps -aux| awk '$2~/^'$P'$/{print $6}'`\"echo \"--------------------------------\"
输出结果:
这样一看就比较直观了。
后面会分享更多devops和DBA方面的干货,感兴趣的朋友可以关注一下~