参考文章:
在Linux中如何使用top -c命令过滤基于进程名称列出的进程?
将TOP命令的输出限制为特定的进程名称
Show only one process with top on Linux
top 命令中通过 top -p PID
可以展示指定进程的信息。
使用上面命令时,还需要先得到进程的 PID,如果想要看多个相似命令的进程信息,会越来越麻烦。
最简单的方式就是通过下面的命令获取指定(匹配)命令的进程信息:
top -p `pidof [process name] | sed 's/ /,/g'`
下面方式可以匹配进程对应的命令行:
top -c -p $(pgrep -d',' -f "string_to_match_in_cmd_line")
使用上面命令时,如果获取的 PID 数量超过了 20,就会报错 “top pid limit (20) exceeded”,因此只能查看20个 PID 的信息。
为了获取资源占用率更高的前 20 个进程,通过下面的命令组合得到:
top -c -p $(top -bc -n 1 | grep "string_to_match_in_cmd_line" | head -n 20 | awk '{print $1}' | tr "\\n" "," | sed 's/,$//')