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
。更新了答案。使用top-pid
我认为这是使用top-pid
的最佳答案。在编辑中添加了一些改进。如果有多个进程使用相同的名称但不同的pid运行呢?您如何看待它们
top -pid $(pgrep -d ' -pid ' -f Python)
top -pid 123 -pid 836 -pid 654