是否可以过滤顶部以显示特定过程?


Answers:


16

你可以这样

top -p `pgrep -d ',' "java|tomcat|redis|mysql|mongo"`

这将pgrep产生一个逗号分隔的pid列表,该列表将传递给top -p


简单得多:)
Mircea Vutcovici 2011年

我一直在努力寻找如何找到多个流程名称的流程列表,直到看到您是如何做到的。
user9517 2011年

1
给将来的观众的注释-这种方法可能无法提供您期望的数据。a)此方法仅在top 启动时显示正在运行的进程。Top的正常行为是显示自开始以来新的流程。b)我读过的最高手册说-p限制为20个进程ID。见:stackoverflow.com/questions/12075591/...
MaasSql

1
运行top -c之后,点击o并在列上编写过滤器,例如,要显示COMMAND列包含字符串foo的行,请写COMMAND = foo
MaasSql

6

并不是您要找的东西,但是有时某个进程由其自己的用户运行,例如apache2通常由用户www-data运行。

您可以使用该命令将top的输出限制为仅该用户的进程,通过使用以下命令有效地仅显示apache2进程:

top -u www-data

大!我想知道如何列出用户特定的进程
razor7,2016年

5

查看man顶部手册以获取有关top实用程序的更多详细信息。

您需要的Semms -p参数

-p:将PID监视为: -pN1 -pN2 ...-pN1,N2 [,...]

        Monitor only processes with specified process  IDs.   This  option
        can  be given up to 20 times, or you can provide a comma delimited
        list  with  up  to  20  pids.   Co-mingling  both  approaches   is
        permitted.

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.