我用来htop
交互式地监控我的流程。
然而,有时一些进程会“妨碍”,我想将它们过滤掉。
不幸的是,似乎 htop 的内置过滤器(例如F4)只允许我定义一个积极的过滤器(仅显示匹配项),而不是消极的过滤器(显示除匹配项之外的所有过滤器)。
最后,我还没有找到任何有关搜索字符串实际语法的文档(正则表达式似乎不起作用)。
答案1
我不知道它是否可行,htop
但如果使用另一个top
实现是一种选择,top
在procps
Linux 上实现(通常是那里的默认实现),从内部top
,您可以
- 输入
o
(或O
区分大小写的匹配) - 输入
!COMMAND=notwanted
(或!USER=unwanted
)
过滤掉名称(或按 后的命令行c
)包含notwanted
(或用户名包含unwanted
)的进程。输入=
删除所有过滤器。
您可以过滤任何您想要的字段,但只能在它们显示时进行。例如,要排除内核任务,您可以要求CODE
显示该列(使用f
),然后进行过滤CODE>0
(使用o
)。
请注意,该实现的默认界面top
可能看起来比 的界面更粗糙htop
,但它实际上具有更多的功能(如果需要,您可以使用颜色和额外信息配置它)。
答案2
不知道有什么直接的办法htop
然而,您也许可以使用 的否定能力pgrep
并将 pid 列表提供给htop
就像是
htop -p "$(pgrep -vfd, 'java|python')"
这有一个明显的缺点,即不考虑htop
启动运行后启动的进程