我在 Ubuntu 18.04 上。我已经知道我可以开始htop
,然后按 F4 进行过滤,然后键入或粘贴进程名称搜索查询(例如,gphoto2
用于查找gvfs-gphoto2-volume-monitor.service
),然后 htop 过滤显示的进程:如果没有这样的进程,它什么都不显示,如果它稍后开始,则htop
显示它。
现在,我想htop
从命令行开始过滤,例如:
htop --filter="gphoto2"
Run Code Online (Sandbox Code Playgroud)
...并获得与按 F4 并在终端 UI 中键入完全相同的行为。如果将命令集成到tmux
会话中,这将非常有用。
我浏览了man htop
,但不幸的是我看不到这样的命令行/选项。我见过的最接近的是-p
,如如何仅显示*不*匹配过滤器的进程中所述?:
就像是
Run Code Online (Sandbox Code Playgroud)htop -p "$(pgrep -vfd, 'java|python')"
这有一个明显的缺点是不考虑 htop 开始运行后启动的进程
那么,有没有办法在启动时在命令行上设置进程名称过滤,以便它考虑新杀死或产生的进程(就像在htop
s 终端 UI 中按 F4 一样)- for htop
, or top
,或任何其他类似程序?
嗯,现在是 2021 年 3 月 25日,我在 Arch 下运行 htop 版本 3.0.5 --filter test
,-F test
并且一切对我来说都很好。这包含在手册页中:--filter="test"
-F="test"
COMMAND-LINE OPTIONS
[...]
-F --filter=FILTER
Filter processes by command
Run Code Online (Sandbox Code Playgroud)
小智 2
我也去寻找这个选项,但它不存在。我决定(使用您的搜索词):
\# ps -aux |grep "[0-9] gphoto2"
Run Code Online (Sandbox Code Playgroud)