如果调用 top 命令,您将获得所有正在运行的进程。但是我如何限制仅将输出限制为某个进程名称,例如“java”?
我已经尝试过这个 顶部 -l 2 | grep java 但通过这种方式,您只能获得快照,而不能获得持续更新的列表。和top -l 0 | grep java不太清楚。
最佳答案
我更喜欢以下内容,这样我仍然可以交互地使用 top,而不必每次运行时查找 pid:
top -p `pgrep process-name | tr "\\n" "," | sed 's/,$//'`
当然,如果进程发生变化,您将必须重新运行命令。
说明:
pgrep process-name
返回以换行符分隔的进程 ID 列表tr "\\n"","
将这些换行符转换为逗号,因为 top 需要一个以逗号分隔的进程 ID 列表sed
是一个流编辑器,sed 's/,$//'
用于删除尾随逗号
关于macos - 将 TOP 命令的输出限制为特定进程名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3727793/