返回博客

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

三种方法查看 macOS 所有运行中的进程——活动监视器、终端命令(ps、top、lsof)以及 ProcXray 进阶进程检查工具。

· 更新日期:
本文目录

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

快速结论

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

方法一:活动监视器

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

如何打开活动监视器

  1. 打开 Finder。
  2. 前往 应用程序 > 实用工具。
  3. 双击 活动监视器。

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

查看所有进程

如果活动监视器当前只显示你自己的进程,请切换视图:

  1. 点击菜单栏的 显示 菜单。
  2. 选择 所有进程。

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

排序和筛选

活动监视器可以显示父子进程关系:选择 显示 → 所有进程,分层显示(英文界面为 View → All Processes, Hierarchically)。这能帮助你追踪哪个进程启动了辅助进程。参见 Apple 的进程查看说明。

局限性

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

方法二:终端命令

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

ps — 列出进程

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

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

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

按名称查找特定进程:

# 查找所有名称包含 "Safari" 的进程
ps aux | grep Safari

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

# 显示指定 PID 的完整命令
ps -ww -p 1234 -o pid,command

top — 实时进程监视器

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

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

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

如需非交互式检查 CPU,采集两次并查看第二组结果。第一组没有前一个采样间隔,不能用于有效的逐进程 CPU 比较:

top -l 2 -s 1 -n 10 -o cpu

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

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

# 显示指定进程的所有打开文件
lsof -p 1234

# 查找哪个进程正在使用特定端口
lsof -i :8080

# 列出所有网络连接
lsof -i

局限性

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

方法三:ProcXray

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

ProcXray 的优势

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

ProcXray 中的 Chrome 进程树及 CPU、内存历史图表

这张现有的 ProcXray 截图中,选中的 Chrome 进程出现一次短暂内存峰值,随后回到接近原先的水平。单次峰值不能证明内存泄漏,应结合重复操作和更长时间的观察判断。上方进程树分别列出了 Chrome 的辅助进程。

各方法适用场景对比

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

常见问题(FAQ)

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

进程数量取决于 macOS、安装的应用和当前任务。单看数量无法判断系统是否正常,应结合持续资源占用、内存压力和实际症状,而不是固定的“正常数量”。

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

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

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

先保存工作并正常退出应用。如果持续无响应,在活动监视器中选择该进程,使用 停止 → 退出,必要时才选择 强制退出。未保存内容可能丢失。结束陌生的系统进程前,先查清其用途。

终端中的 kill -TERM 1234 请求进程终止,把 1234 替换为刚核实的 PID。kill -KILL 1234 会阻止退出清理,只应作为最后手段。参见 Apple 的退出说明。

继续排查

参考资料

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