如何使“top”仅显示符合特定模式的一组进程?

如何使“top”仅显示符合特定模式的一组进程?

我想显示命令行包含.*git.*使用的所有进程top

我考虑过以下命令:top -p $(pgrep -d',' -f '.*git.*')

但是,上述命令有几个注意事项:

  • top只有执行时存在的进程才会包含在top的输出中(.*git.*不包含新的进程)。
  • man top表示最多可以使用该-p标志指定 20 个进程,这可能还不够。

如何在终端中显示top当前进程的动态视图?.*git.*

答案1

您可以top使用“在窗口中过滤”来执行此操作:开始top,然后按O,然后输入

COMMAND=git

这将过滤进程,匹配该COMMAND列并仅保留该列中可见值包含的进程git

COMMAND列上进行过滤时,过滤器适用于当前显示的值 - 正在运行的程序的名称或其完整命令行。这可以通过按c, 或使用参数来切换-c;状态在top调用之间被记住。请注意,过滤器仅适用于字段的可见部分;在对COMMAND列进行过滤时,如果它不完全可见或者不够宽以包含命令行的相关部分,这可能是一个重要的问题。请参阅COMMAND中的字段说明man top了解详情。

过滤器是累积的,可以通过按 来清除=。参见第 5e 节man top了解详情。

据我所知,没有等效的命令行选项。

相关内容