如何查看 Mac 上正在运行的进程

高手攻略

了解 Mac 上正在运行哪些进程,对于排查性能问题、追踪异常应用和掌握系统后台行为至关重要。无论你习惯使用图形界面还是命令行,macOS 都提供了多种方式让你全面掌控。

快速结论

从 /Applications/Utilities/ 打开活动监视器即可快速查看所有运行中的进程。使用终端命令如 ps、top、lsof 可获得更详细、可编程的输出。如需进阶检查——包括进程树、环境变量和短命进程捕获——可使用 ProcXray 。

方法一:活动监视器

活动监视器是 Apple 内置的进程查看器,可显示每个运行进程的 CPU、内存、能耗、磁盘和网络使用情况。

如何打开活动监视器

打开 Finder。

前往 应用程序 > 实用工具。

双击 活动监视器。

或者,按 Cmd + Space 打开聚焦搜索,输入”Activity Monitor”,按回车。

查看所有进程

默认情况下,活动监视器只显示当前用户的进程。要查看全部进程:

点击菜单栏的 显示 菜单。

选择 所有进程。

现在你可以看到 Mac 上运行的所有进程,包括系统守护进程和后台服务。

排序和筛选

点击任意列标题(CPU、内存、PID)按该指标排序。

使用右上角的搜索栏按进程名称过滤。

在 CPU、内存、能耗、磁盘和网络选项卡之间切换,查看不同资源视图。

局限性

活动监视器适合快速检查,但存在明显盲区:

没有进程树。 只能看到扁平列表,无法显示父子关系。当应用派生出辅助进程时,你无法辨别哪个进程启动了哪个。

无法查看环境变量。 无法检查进程启动时的环境配置。

短命进程不可见。 在刷新间隔内启动并退出的进程永远不会被显示。

不支持正则搜索。 搜索栏只支持简单的文本匹配。

方法二:终端命令

终端提供了更强大和灵活的进程查看能力。以下是最常用的命令。

ps — 列出进程

ps 命令打印当前进程的快照。

# 列出所有运行中的进程及详细信息

ps aux

每一行显示用户、PID、CPU 使用率、内存使用率、启动时间和完整命令。

按名称查找特定进程:

# 查找所有名称包含 "Safari" 的进程

ps aux | grep Safari

查看完整的命令行参数(对调试脚本很有用):

# 显示指定 PID 的完整命令

ps -p 1234 -o pid,command

top — 实时进程监视器

top 命令提供一个持续更新的运行进程实时视图。

# 启动 top,按 CPU 使用率排序

top -o cpu

按 q 退出。运行中可按 o 并输入列名来更改排序方式。

如果只需要一次性快照而不进入交互模式:

# 输出 CPU 占用前 10 的进程后退出

top -l 1 -n 10 -o cpu

lsof — 列出打开的文件和连接

每个进程都持有打开的文件、套接字和系统资源。lsof 命令可以揭示它们。

# 显示指定进程的所有打开文件

lsof -p 1234

# 查找哪个进程正在使用特定端口

lsof -i :8080

# 列出所有网络连接

lsof -i

组合使用

可以将这些命令串联起来进行针对性排查:

# 一步完成:找到进程 PID 并列出其打开的文件

lsof -p $(pgrep -f "node server.js")

局限性

终端命令虽然强大,但也有不足:

输出内容可能铺天盖地——lsof 经常产生数千行结果。

ps 显示的是静态快照;短命进程可能在你查看之前就已退出。

在 ps、top 和 lsof 之间关联数据需要手动操作。

没有直观的进程层级视图。

方法三:ProcXray

ProcXray 是一款原生 macOS 应用,兼具图形界面的便捷性和超越活动监视器与终端命令的深度。

ProcXray 的优势

进程树视图。 在扁平列表和实时层级树之间一键切换,立即看清父子关系。可以瞬间了解哪个应用或脚本启动了某个进程。

环境变量检查。 点击任意进程即可查看其启动时的每一个环境变量——支持搜索,可一键复制为 JSON 格式。

短命进程捕获。 新生进程以绿色高亮显示,已退出的进程在可配置的时间窗口内以红色保留。活动监视器和 ps 漏掉的瞬态进程尽在掌握。

实时正则搜索。 在进程名称、PID、命令行参数和路径等维度使用正则表达式过滤。

代码签名验证。 一目了然地查看每个进程是否已签名、签名者是谁以及持有哪些权限(Entitlements)。

当你不仅想知道有哪些进程在运行,更想了解它们为什么在运行时,ProcXray 尤其有用。

各方法适用场景对比

任务活动监视器终端ProcXray快速查看 CPU/内存最佳较好较好查看所有运行进程较好最佳最佳按名称查找进程较好较好最佳查看进程树(父子关系)不支持有限最佳检查环境变量不支持繁琐最佳捕获短命进程不支持不支持最佳脚本化/自动化检查不支持最佳不支持查看代码签名不支持手动操作最佳

常见问题(FAQ)

Mac 上通常有多少个进程在运行?

一台普通 Mac 通常同时运行 300 到 500 个进程,其中大部分是系统守护进程和后台服务,这属于正常现象。如果你发现进程数量异常增多或出现陌生的进程名称,建议使用 ps aux 或 ProcXray 进行排查。

不安装任何软件能查看运行中的进程吗?

可以。每台 Mac 都预装了活动监视器,ps 和 top 等终端命令也是开箱即用的,足以覆盖大部分基础需求。当你需要更深入的检查能力时,ProcXray 等第三方工具的价值就会体现出来。

如何找到并停止拖慢 Mac 的进程?

打开活动监视器,点击 CPU 选项卡。

点击 % CPU 列标题按 CPU 使用率排序。

找到占用资源最多的进程。

选中该进程,点击工具栏中的 X 按钮退出它。

对于拒绝退出的进程,可在终端中执行:kill -9 ,将 替换为活动监视器或 ps aux 中显示的进程 ID。

参考资料

Apple: 活动监视器使用手册

ps 命令文档

top 命令文档

lsof 命令文档

下载 ProcXray → — 免费,支持 macOS Sonoma 及以上版本。