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

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

我用来htop交互式地监控我的流程。

然而,有时一些进程会“妨碍”,我想将它们过滤掉。

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

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

答案1

我不知道它是否可行,htop但如果使用另一个top实现是一种选择,topprocpsLinux 上实现(通常是那里的默认实现),从内部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启动运行后启动的进程

相关内容