如何在查看特定进程的top命令输出时保留表头?
解决top过滤特定进程时保留表头的实用方法
嘿,我来给你几个靠谱的方法,帮你在过滤myps进程的同时保住表头信息:
方法一:用awk简洁实现(实时刷新版)
直接用awk同时匹配表头和目标进程,命令如下:
top -b | awk '/PID USER/ || /myps/'
这里top -b让top以批处理模式运行(避免终端交互的限制),awk的规则很简单:只要行里包含PID USER(表头标识)或者myps(目标进程名),就输出这一行。执行后你会看到表头一直跟着实时更新的myps进程数据。
方法二:组合head提取表头+grep过滤
先提取一次top的表头,再持续过滤进程,命令是:
(top -b -n1 | head -10; top -b | grep myps)
top -b -n1只运行一次top并输出全部内容,head -10提取前10行(刚好包含完整的表头区域);后面的top -b | grep myps持续输出myps的进程数据。括号把两个命令的输出合并,就能看到表头加实时进程的效果了。
方法三:用top原生过滤功能(交互模式更直观)
如果你习惯用top的交互界面,完全不用管道命令,直接在top里操作:
- 先正常启动
top命令 - 按下大写字母
O(注意是字母O不是数字0),进入过滤规则设置界面 - 输入
COMMAND=myps然后回车
这样top就会只显示COMMAND列是myps的进程,而且表头会一直固定在顶部,操作起来非常直观。
内容的提问来源于stack exchange,提问作者Samselvaprabu
相关产品推荐
相关产品推荐

