FreeBSD 中使用 top 过滤进程

FreeBSD 中使用 top 过滤进程

➥ 当使用top实用程序查看进程及其活动时,如何按名称将列表过滤为子集?

例如,当我只想查看名称包含postgres或 的进程时java

我使用的是 FreeBSD 11.2,但如果行为有所不同,跨 Unix 风格的指导将会很有帮助。

我读过有关使用这个的信息:

top -p $(pgrep -d',' postgres)

…但我收到一个错误:

非法变量名。

答案1

top提供的变体自由BSD核心系统不具有-p选项用于选择要以伪实时方式观看的 pid 列表。

不过,该htop软件包可以安装在您的系统之上自由BSD系统和这个更丰富多彩的顶部(除其他外)变体有这个想要的-p选项。

  • htop帮助:

htop使用情况来看:

htop 2.2.0 - (C) 2004-2018 Hisham Muhammad
Released under the GNU GPL.

-C --no-color               Use a monochrome color scheme
-d --delay=DELAY            Set the delay between updates, in tenths of seconds
-h --help                   Print this help screen
-s --sort-key=COLUMN        Sort by COLUMN (try --sort-key=help for a list)
-t --tree                   Show the tree view by default
-u --user=USERNAME          Show only processes of a given user
-p --pid=PID,[,PID,PID...]  Show only the given PIDs
-v --version                Print version info
  • 安装htop

使用自由BSD存储库:

# pkg install htop

或通过端口:

# cd /usr/ports/sysutils/htop
# make install clean

答案2

Top 旨在显示顶层流程,因此而得名。不过,有一些解决方法可能会对您有所帮助。

您可以通过管道将输出发送到 grep:

top | grep postgres

您可以尝试使用-o带有字段名称的标志。

top -o pid

您可以将其与-i标志结合起来,这将带您进入交互模式

top -io pid

到达那里后,您可以切换各种选项,例如a流程标题或u用户。

尝试结合各种选项。

参考

man top

Freebsd 11.2 发布

相关内容