如何仅显示不匹配过滤器的进程?


12

htop用来交互式地监视我的过程。

但是,有时某些进程会“阻碍”运行,我想将它们过滤掉。

不幸的是,似乎htop的内置过滤器(例如F4)仅允许我定义一个过滤器(仅显示匹配项),而不是过滤器(除匹配项之外的所有示例)。

最后,我还没有找到有关搜索字符串实际语法的任何文档(正则表达式似乎无效)。


无法使用AFAIK。有什么理由不使用top?您可以轻松地做到这一点。
sebelk 2015年

FWIW htop过滤应该很快会获得正则表达式过滤,GitHub上有一个完整但仍未合并的pull-request。github.com/hishamhm/htop/pull/428
理查德·迈克尔

Answers:


5

我不知道它是否可行,htop但是是否可以top选择使用其他top实现,procps对于Linux 上的实现(通常是那里的默认实现)top,您可以通过,

  1. 输入o(或O区分大小写的匹配)
  2. 输入!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开始运行后启动的进程


1
好主意,但我真正想做的是在看到“垃圾”流程时将其过滤掉;所以您的解决方案是不是在这个意义上真正的“互动” ...
umläute
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.