Macos 我怎样才能找到一个带有“的特定流程?”;top";在Mac终端中

Macos 我怎样才能找到一个带有“的特定流程?”;top";在Mac终端中,macos,grep,Macos,Grep,例如,我试过top | grep skype,但不起作用。我试图通过名称找到一个特定的进程 使用而不是top。使用此选项:ps-ax | grep-i skype使用:top-l 0 | grep skype 0表示无限个样本。您还可以将样本数限制为正数。如果您真的喜欢top,您可以尝试: top -b -n 1 | grep skype e、 g 在Linux上,top命令支持-p选项来监视特定的PID。在MacOS上,-p选项被称为-pid # Get the PID of the pro

例如,我试过
top | grep skype
,但不起作用。我试图通过名称找到一个特定的进程

使用而不是top。

使用此选项:
ps-ax | grep-i skype
使用:
top-l 0 | grep skype


0表示无限个样本。您还可以将样本数限制为正数。

如果您真的喜欢top,您可以尝试:

top -b -n 1 | grep skype
e、 g


在Linux上,
top
命令支持
-p
选项来监视特定的PID。在MacOS上,
-p
选项被称为
-pid

# Get the PID of the process
pgrep Skype

# Then
top -pid <put PID here>

# Or more succinctly:
top -pid `pgrep Skype`

现在您只需使用
topgrep Skype
,它将像往常一样运行,但它只会显示匹配
表达式的进程

现在您可以使用
pgrep Skype
查找进程。

我建议使用
ps-ax | less


less
中,您可以键入/
skype
Enter以搜索名称包含“skype”的进程。

在MacOSX Mojave上测试。它的工作原理与linux稍有不同

top-pid
不需要逗号分隔的pid列表,它只需要一个pid。因此,我不得不对它进行一些修改,以便与几个PID一起工作

top -pid $(pgrep -d ' -pid ' -f Python)
在顶部过滤所有Python进程。它本质上是这样的:

top -pid 123 -pid 836 -pid 654

ps的问题在于它只显示连接了终端的进程。如果使用-x标志,ps应该显示所有进程。你确定skype正在运行吗?试试ps-ax | grep-i skypeps的问题在于它只显示连接了终端的进程。它不起作用。你试过使用“-a”或“-a”或“aux”选项吗?我是一个linux用户,在我的操作系统中,ps工作得很好。是的,对于linux来说,它工作得很好。不幸的是,mac是另一个故事:(无效选项或语法:-bn1它在这里工作。我更新了答案,请再试一次。@Kent为我工作。
Linux archvbox 4.1.5-1-ARCH#1 SMP PREEMPT周二8月11日15:41:14 CEST 2015 x86_64 GNU/Linux
有其他方法做事情很酷!(
ps
top
)更新为包含两种OS X(OP)的变体和Linux。严格地说,随着更新,这应该是公认的答案。此外,单个样本不是必须的。相反,我通常使用
grep
来过滤
top
中流出的输出。刚刚检查,顶部的进程名为
Skype
而不是
Skype
。更新了答案。使用e> grep-i选项将修复OSX的问题,我认为这是
top-pid
我认为这是使用
top-pid
的最佳答案。在编辑中添加了一些改进。如果有多个进程使用相同的名称但不同的pid运行呢?您如何看待它们
top -pid $(pgrep -d ' -pid ' -f Python)
top -pid 123 -pid 836 -pid 654