Process Explorer (procexp) 完全教程
Process Explorer 是微软官方出品的免费高级任务管理器,是 Sysinternals 套件中的一员,它被誉为“任务管理器的终极替代品”,功能远超系统自带的任务管理器,能够让你深入了解系统中运行的每一个进程、线程、句柄和 DLL。
为什么使用 Process Explorer?(相比任务管理器的优势)
- 更详细的进程信息:不仅能看到进程名和 PID,还能看到命令行路径、用户账户、CPU/内存/IO 的实时和历史使用情况。
- 进程树状视图:可以清晰地看到进程之间的父子关系,帮助你理解程序是如何启动的。
- 强大的查找功能:快速查找进程名、PID、句柄、DLL 等。
- 模块和句柄分析:查看一个进程加载了哪些 DLL 文件(模块),以及它打开了哪些文件、注册表键、网络连接等(句柄)。
- 网络连接监控:比任务管理器更直观地查看哪个进程在使用哪个端口,以及远程 IP 地址。
- 系统信息总览:一键查看详细的硬件和系统信息。
- 进程暂停/终止:可以像调试器一样暂停进程,更安全地结束任务。
- 集成病毒扫描:可以右键可疑进程,直接使用杀毒软件进行扫描。
下载与安装
- 下载:访问微软官方 Sysinternals 下载页面: https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
- 安装:
- 绿色版(推荐):下载后解压即可使用,无需安装。
procexp.exe就是主程序。 - 安装版:可以右键
procexp64.exe(64位系统) 选择 "以管理员身份运行",或者直接安装。
- 绿色版(推荐):下载后解压即可使用,无需安装。
界面初识
启动 Process Explorer,你会看到两个主要的窗口:

-
顶部窗口 - 进程列表:
- 显示所有正在运行的进程。
- 默认以树状结构展示,子进程缩进在父进程下方。
- 可以通过菜单
View -> Select Columns...添加或删除列信息。
-
底部窗口 - 选定进程的详细信息:
- 当你在顶部窗口选中一个进程后,底部窗口会显示该进程的详细信息。
- 默认有两个标签页:线程 和 句柄。
核心功能详解
进程列表操作
-
切换视图:
View -> Show Process Tree:开启/关闭树状视图。强烈建议开启,这是它的一大特色。View -> Lower Pane View:可以选择底部窗口显示的内容,如“线程”、“句柄”、“TCP/IP”等。
-
自定义列:
- 右键点击列标题 ->
Select Columns...。 - 在这里可以添加非常丰富的信息,
- Process 类别:Command Line (命令行)、Verified Signer (数字签名验证)、User (用户)。
- Performance 类别:I/O Reads/Writes (IO读写)、GPU (GPU使用)。
- Windows 类别:Session Name (会话名称)、Window Title (窗口标题)。
- 右键点击列标题 ->
-
查找:
- 按下
Ctrl + F,会弹出一个强大的查找框,你可以:- 按名称查找进程。
- 按PID查找。
- 查找句柄:输入文件名或路径,可以快速找到哪个进程打开了该文件(
C:\pagefile.sys)。 - 查找DLL:输入 DLL 名称,可以找到哪些进程加载了它。
- 按下
-
进程操作:
- 右键点击任意进程,会看到丰富的选项:
- Set Priority:设置进程优先级(如实时、高、高于正常等)。
- Set Affinity:将进程绑定到特定的 CPU 核心。
- Suspend:暂停进程,这会让进程“卡住”,但不会结束它,对于调试很有用。
- Resume:恢复被暂停的进程。
- Kill Process Tree:结束该进程及其所有子进程。
- Properties:查看进程的详细属性。
- 右键点击任意进程,会看到丰富的选项:
底部窗口详解
-
线程 标签页:
- 显示选定进程的所有线程。
- 你可以看到每个线程的 ID、CPU 时间、优先级等。
- 如果某个进程 CPU 占用很高,但找不到原因,可以在这里查看哪个线程占用了大量 CPU,然后右键结束该线程(比结束整个进程更精确)。
-
句柄 标签页:
- 这是 ProcExp 最强大的功能之一!
- 它列出了进程打开的所有“句柄”,句柄是 Windows 用来标识系统资源的抽象(如文件、注册表键、网络连接、窗口等)。
- 实用场景:
- 无法删除/移动文件:怀疑文件被某个程序占用,在句柄页面按
Ctrl + F搜索文件名,找到占用它的进程,然后右键 ->Close Handle关闭句柄(或者直接结束进程),再尝试删除文件。 - 发现隐藏进程:某些恶意软件没有窗口,但可能会打开注册表或特定文件,通过查看所有进程的句柄,可以发现可疑活动。
- 无法删除/移动文件:怀疑文件被某个程序占用,在句柄页面按
悬停提示与颜色标记
- 悬停提示:将鼠标悬停在进程列表的任何一个进程上,会弹出一个提示框,显示该进程的完整路径、命令行参数、PID、PPID (父进程ID) 等。
- 颜色标记:
View -> Select Font...->Highlight:可以设置高亮规则。- 最常用的设置是:当某个进程的 CPU 或内存占用超过某个阈值时,用不同颜色标出,让你一眼就能发现“问题进程”。
系统信息与查找
- 系统信息:点击菜单
View -> System Information,会打开一个新窗口,显示极其详细的硬件和系统信息,包括 CPU、内存、磁盘、网络适配器、驱动程序、环境变量等,是排查问题的利器。 - 查找:点击菜单
Find -> Find Handle or DLL...,这是一个全局搜索,可以在所有进程中查找包含特定文本的句柄或 DLL。
实战应用场景
发现并解决高 CPU 占用问题
- 系统变卡,任务管理器显示 CPU 100%。
- 打开 Process Explorer,在顶部窗口的 CPU 列可以看到哪个进程占用最高。
System或System Interrupts占用高,说明是硬件或驱动问题。- 如果是某个第三方软件(如
chrome.exe)占用高:- 选中
chrome.exe,切换到底部窗口的 线程 标签页。 - 在 CPU 列找到占用最高的线程,记下其 TID (线程 ID)。
- 右键该线程 ->
Select,ProcExp 会自动在顶部窗口高亮该线程对应的模块(通常是某个标签页的渲染进程)。 - 你可以据此判断是哪个网页或扩展导致了问题。
- 选中
删除一个“正在被使用”的文件
- 你想删除
C:\temp\somefile.dat,但系统提示“文件正被另一进程使用”。 - 打开 Process Explorer,按下
Ctrl + F,在查找框中输入somefile.dat。 - 查找结果会告诉你是哪个进程(
notepad.exe)打开了该文件。 - 右键该进程 ->
Properties-> 在Handle标签页中找到该文件,右键 ->Close Handle。 - 现在回到文件资源管理器,尝试删除文件,应该就可以成功了。
排查网络连接问题
- 你想知道哪个程序在偷偷上传/下载数据。
- 在 Process Explorer 中,选中一个你怀疑的进程(如浏览器或下载工具)。
- 切换到底部窗口,选择
TCP/IP标签页。 - 你会看到该进程所有的网络连接,包括本地 IP/端口和远程 IP/端口,以及连接状态。
- 如果发现一个进程连接到了一个陌生的 IP 地址,那它很可能就是
