如果你搜索过”Process Explorer for Mac”,你大概已经知道自己在找什么:Windows 上 Sysinternals Process Explorer 提供的那种深度、实时的进程检查能力——只不过是在 macOS 上。简短回答:微软的 Process Explorer 不支持 Mac。更完整的回答:使用合适的工具,你可以获得同等甚至更强的能力。
什么是 Process Explorer?
Process Explorer 是微软 Sysinternals 工具包中的免费 Windows 实用程序。二十多年来,它一直是 Windows 开发者、系统管理员和安全专家的首选高级任务管理器。它远超 Windows 任务管理器的能力:
- 层级进程树 — 一目了然地看到父子关系
- DLL 与句柄查看器 — 检查任意进程加载的所有库和打开的句柄
- 环境变量检查 — 读取运行中进程的完整环境变量块
- 代码签名验证 — 检查进程是否签名以及签名者身份
- 实时资源监控 — 每个进程的 CPU、内存、I/O 和 GPU 使用情况
- 跨进程搜索 — 查找哪个进程加载了特定 DLL 或打开了特定句柄
这些能力使 Process Explorer 成为 Windows 上调试、性能分析和安全审计的不可或缺的工具。当开发者转向 macOS 时,自然会寻找同级别的可见性。
macOS 开箱提供了什么
活动监视器
活动监视器是 Apple 内置的进程查看器。它以标签页形式展示 CPU、内存、能耗、磁盘和网络使用情况。你可以按资源消耗排序并强制退出无响应的应用。
它做不到的事情:
- 没有进程树——每个进程都是扁平列表中的一行,没有父子上下文
- 无法查看环境变量
- 无法查看已加载的动态库(dylib)
- 无法检查代码签名或 Entitlements
- 没有正则或高级搜索——只有基础的名称筛选
- 没有生命周期追踪——在刷新间隔中启动和退出的进程完全不可见
终端工具
macOS 自带强大的命令行工具:
ps aux # 列出所有进程
top -o cpu # 实时资源使用
lsof -p <PID> # 打开的文件和网络连接
vmmap <PID> # 内存区域和已加载的库
codesign -dvvv <path> # 代码签名详情
这些工具覆盖了 Process Explorer 展示的大部分原始数据。代价是:输出分散在多个工具中,实时关联困难,在活跃调试中没有统一视图。
差距:活动监视器 vs Process Explorer
以下是 Process Explorer 用户转到 Mac 后缺失的能力:
| 能力 | Process Explorer (Windows) | 活动监视器 (macOS) |
|---|---|---|
| 进程树 | 完整层级 | 仅扁平列表 |
| 环境变量 | 逐进程查看 | 不支持 |
| 已加载的库 (DLL/dylib) | 逐进程列表 | 不支持 |
| 句柄 / 文件描述符查看 | 完整列表 | 不支持 |
| 代码签名检查 | 内置集成 | 不支持 |
| 搜索 | 跨所有进程搜索 DLL/句柄 | 仅名称子字符串 |
| 进程生命周期追踪 | 新建/退出颜色标记 | 不可见 |
| 窗口到进程识别 | 十字准星工具 | 不支持 |
这是一个显著的差距。终端可以弥补部分缺失,但无法达到 Process Explorer 的速度和集成度。
如何在 macOS 上获得 Process Explorer 级别的能力
ProcXray 是一款原生 macOS 进程监控工具,专为弥合这一差距而生。它面向同样的受众——开发者、安全专家和高级用户——并直接对应 Process Explorer 用户期望的各项能力。
以下是 ProcXray 如何填补每项缺失功能:
进程树视图
ProcXray 以可折叠的树状结构展示完整的进程层级。展开任意父进程查看其子进程和孙进程。随时在树视图和扁平列表之间切换。当你调试产生大量子进程的构建系统时,进程树是理解运行状况的最快方式。
环境变量检查
选择任意进程并打开环境变量标签页,查看它继承或显式设置的每一个变量。一键将完整环境复制为 JSON——在干净 shell 中复现问题时必不可少。
Dylib 与连接监控
Modules 标签页列出进程加载的每一个动态库(dylib)——相当于 Process Explorer 的 DLL 视图在 macOS 上的对等物。Connections 标签页展示打开的文件描述符、监听端口和活跃网络连接。不再需要在终端中反复切换 lsof 和 vmmap。
代码签名与安全
ProcXray 以结构化视图展示每个进程的代码签名状态、签名身份和 Entitlements 列表。无需手动运行 codesign,即可发现未签名、临时签名或授权可疑的进程。
实时正则搜索
使用完整正则表达式过滤整个进程列表。搜索同时匹配进程名称、PID、命令行参数和文件路径。结果随输入实时更新——亚毫秒级响应。
进程生命周期追踪
新启动的进程以绿色高亮;退出的进程渐变为红色并保持可见。瞬态辅助进程、构建子进程和崩溃重启循环变得清晰可见,而不是在刷新间隔中消失。
窗口识别(Window Spy)
灵感来自 Windows 上的 Spy++ 工作流:将十字准星指向屏幕上任意窗口并点击,ProcXray 立即跳转并高亮其所属进程。当你需要识别未知窗口时,比 lsof 或 Accessibility API 快得多。
丰富的右键菜单
右键点击任意进程即可:查看详情、在 Finder 中显示可执行文件、复制命令行参数、生成环境报告、发送信号(HUP、QUIT)、暂停/恢复或终止进程。终端的全部能力,浓缩在直观的菜单中。
横向对比:Windows Process Explorer vs ProcXray
| 能力 | Process Explorer (Windows) | ProcXray (macOS) |
|---|---|---|
| 进程树 | 支持 | 支持 |
| 环境变量 | 支持 | 支持 |
| DLL / Dylib 查看 | 支持 | 支持 |
| 句柄 / 文件描述符查看 | 支持 | 支持(打开的文件、端口) |
| 代码签名检查 | 支持 | 支持 |
| 正则搜索 | 不支持(仅基础查找) | 支持(完整正则) |
| 进程生命周期高亮 | 支持(颜色标记) | 支持(绿色启动,红色退出) |
| 窗口到进程识别 | 支持(拖拽目标) | 支持(十字准星选择器) |
| 实时逐进程图表 | 支持 | 支持(CPU、内存、磁盘 I/O) |
| 右键菜单操作 | 支持 | 支持(信号、暂停、复制环境) |
| 性能历史导出 | 不支持 | 支持(CSV / JSON) |
| 原生平台 | Windows | macOS(Apple Silicon 与 Intel) |
ProcXray 在核心能力上匹配 Process Explorer,并增加了完整正则搜索和性能历史导出(CSV/JSON)等 Process Explorer 没有的功能。
开始使用
ProcXray 是原生 macOS 应用:
- 免费下载 — 基础功能永久免费
- 14 天试用 — 所有高级功能全部解锁,无需付款
- 一次性 $15 许可证 — 终身使用,无订阅
- 系统要求 — macOS 14(Sonoma)或更高版本,支持 Apple Silicon 与 Intel
- 安全可信 — 已代码签名并通过 Apple 公证
总结
Mac 上没有官方的 Process Explorer,而活动监视器远不能填补这一差距。ProcXray 为 macOS 用户提供了同等深度的进程检查能力——进程树、环境变量、已加载的库、代码签名和实时搜索——一切都在为该平台原生构建的应用中。如果你从 Windows 转来后怀念 Process Explorer,或者你只是觉得活动监视器已经不够用了,ProcXray 值得一试。
常见问题
有没有官方的 Sysinternals Process Explorer Mac 版?
没有。Process Explorer 是微软 Sysinternals 工具包中的仅限 Windows 的实用程序。没有 macOS 移植版或微软提供的官方替代品。
能用 htop 或 top 替代 Process Explorer 吗?
htop 和 top 展示实时资源使用和进程列表,但缺少带有父子上下文的进程树、环境变量检查、dylib 查看、代码签名检查和基于 GUI 的搜索。它们是有用的监控工具,但不能替代 Process Explorer。
ProcXray 和活动监视器有什么不同?
ProcXray 增加了进程树视图、环境变量检查、正则搜索、dylib 与连接监控、代码签名验证、进程生命周期追踪和窗口识别(Window Spy)——这些活动监视器都不提供。详见我们的完整对比。
参考资料
- 微软: Process Explorer 文档
- Apple: 活动监视器使用手册
ps命令文档lsof命令文档vmmap命令文档