前言
利用shell命令获取Centos 7环境下,指定进程的PID、端口、内存使用率和CPU使用率等进程信息。
操作
注:Monitor为指定进程名
# 查看某一进程是否存在
ps -ef| grep Monitor |grep -v grep
# 获取某一进程的PID 仅显示PID
pgrep Monitor
# 获取某一进程的端口 注:LISTEN:监听状态,说明该端口是开放的,正在等待连接,但是还没有被连接
netstat -nap | grep $(pgrep Monitor) | grep LISTEN |awk '{printf $4}'|cut -d ':' -f2
# 获取指定进程的CPU使用率
ps aux|grep 'Monitor'|grep -v grep|awk '{printf $3}'
echo $(ps aux|grep 'Monitor'|grep -v grep|awk '{printf $3}') //脚本中使用
# 获取指定进程的内存使用率
ps aux|grep 'Monitor'|grep -v grep|awk '{printf $4}'
echo $(ps aux|grep 'Monitor'|grep -v grep|awk '{printf $3}')
# 将Linux命令的结果作为下一个命令的参数
netstat -nap | grep $(pgrep Monitor) | grep LISTEN
netstat -nap | grep `pgrep Monitor` | grep LISTEN
# 同时执行两条指令 ;和&&
ps aux|head -1;ps aux|grep 'Monitor'|grep -v grep
ps aux|head -1 && ps aux|grep 'Monitor'|grep -v grep
#结果如下
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
nsy 30105 0.2 0.3 825708 3544 pts/1 Sl+ 15:34 0:14 ./FMonitor