如何使用终端查看哪些 Mac 进程正在访问互联网

macOS Big Sur 终端图标

如果您想知道哪些程序在任何时间点都在使用您的互联网连接,这里有一种使用终端来查找的方法。打开终端,在”应用程序”>”实用程序”中,然后运行以下命令:

<代码>lsof -P -i -n |切-f 1 -d”” |唯一性

当您按回车键时,您将看到正在使用互联网连接的进程列表。当我写这篇文章时,我的输出如下所示:

命令AppleVNCSPTHPastebSystemUIS >aosnotifyiTunesGrowlHelpTransmitiChatAgen<代码>firefox-bVPNClientMail

第一行COMMAND只是列标题。下面是使用互联网连接的进程。大多数时候,它们是不言自明的,或者可以相对容易地理解。在我的列表中,大多数条目都非常清晰,但可能不是aosnotify。不过,与 Google 的一些合作确定该过程与 MobileMe 同步相关。

如果您只想使用此命令,那么您现在已经知道了所有需要了解的内容。不过,如果您好奇它是如何工作的,请继续阅读。

虽然该命令可能看起来很复杂,但它实际上是三个相对简单的命令与管道 (|) 符号串在一起。第一个是 lsof -P -i -n,运行 lsof 来列出打开的文件,并将选项设置为仅关注这些连接使用 Internet 连接 (-i),并且不要尝试将端口和主机号转换为名称(-P -n)。

该命令的输出随后被发送到 cut,它会剪切除第一个字段 (-f 1) 之外的所有内容,基于使用空格来分隔字段 (-d " ")。最后,该输出被发送到 uniq,它会从列表中删除重复的条目 – 如果没有这最后一点,您会在列表中看到大量重复,因为每个打开的应用程序将有多个打开的文件。

这就是全部内容了。感谢 commandlinefu.com 用于发布此有用的花絮。