进程资源管理器
特性
Process Explorer
是 Sysinternals 出品的工具,其在功能方面的独特之处有以下几点:
- 显示进程安全令牌(比如安全组列表、特权,以及虚拟化状态)。
- 加亮显示进程和线程列表中的变化。
- 列出服务宿主进程中的服务,包括显示名称和说明。
- 显示加入到作业(job)中的进程,以及作业的细节。
- 显示运行.NET应用的进程,以及与.NET相关的细节(比如应用域(AppDomain〕的列表、已加载的程序集和CLR性能计数器)。
- 显示进程和线程的启动时间。
- 显示内存映射文件(不仅仅包括DLL)的完整列表。
- 能够挂起进程或线程。
- 能够杀死单个线程。
- 很容易识别出一段时间以来哪些进程消耗了绝大多数CPU时间(性能监视器可以显示出一组指定进程的CPU利用率,但是不能自动显示那些在性能监视会话启动以后被创建的进程——只有通过二进制输出格式的手工跟踪数据才能做到这一点)。
其次,通过 Process Explorer,也可以很容易地在一个地方访问到各种信息,比如:
程树(并且能够销毁掉进程树的一部分)。
- 进程内的已打开句柄(包括未命名的句柄)。
- 进程内的DLL(和内存映射文件)列表。
- 进程内的线程活动。
- 用户模式和内核模式的线程栈(也包括,利用Windows调试工具附带的Dbghelp.dll将地址映射成名称)。
- 利用线程的指令计数(eycle count)来计量的更为精确的CPU百分比(正如第5章"进程与线程"中所解释的那样,这是一种更好的精确表达CPU活动的方法)。
- 完整性级别(integrity level)。
- 内存管理器的细节,比如提交内存量峰值、内核内存中换页的和非换页的内存池限制(其他工具只显示当前大小)。
Process Explorer 可以查看进程的细节。
Process Explorer
启动时,默认显示进程树视图,以及一个可选的下部窗格,窗格中可显示已打开的句柄,或者已映射的DLL和内存映射文件。对于下面几种宿主信息,它也会显示相应的提示信息:
- 将鼠标移动到一个宿纳服务的进程(Svchost.exe)的名称上时,提示框中会显示它所宿纳的服务。
- 对于
Taskeng.exe
进程(由“任务计划(Task Scheduler)”启动),显示其内的COM对象任务。 Rundll32.exe
进程的目标(用于存储控制面板项之类)- 宿纳于
Dllhost.exe
进程内的COM对象。 Internet Explorer
的页面浏览(tab)进程。- 控制台宿主进程。
进程资源管理器 - Windows Sysinternals | Microsoft Docs
运行截图
各种颜色代表什么?
快速开始
以下操作步骤,可以让你领略到 Process Explorer
的一些基本功能:
-
注意,在默认配置下,宿纳服务的进程被加亮显示为粉色,而你自己的进程被加亮显示为蓝色(这些颜色都可以重新配置)。
-
将鼠标移动到进程的映像名称上,可以在提示信息中看到完整的路径名。正如前面所讲,对于某些特定类型的进程,在此提示框中还有额外的细节信息。
-
单击View菜单,打开Select Columns对话框,在Process Image选项卡中加入Image Path
列。 -
在Process列上单击,按进程排序,可以注意到,树状视图不见了(你要么显示树状视图,要么按当前所显示的任何一列进行排序)。再次单击Process列,则从Z到A排序。然后,再次单击,则回到树状视图。
-
在View菜单中,不要选中"Show Processes From AllUsers",以只显示你自己的进程。
-
在Options菜单中,选择"Difference Highlight Duration"命令,将相应的值改为5秒。然后启动一个新的进程(任何进程都可以),可以注意到,新进程持续5秒被加亮显示为绿色。再退出这一新进程,可以看到,该进程在消失以前,持续5秒被加亮显示为红色。这项功能非常有用,通过它,可以看到系统中正在创建的和正要退出的进程。
-
最后,在某个进程上双击,你可以在进程属性对话框的各个选项卡中查看各种信息(这些信息会出现在贯穿本书的各个实验中,届时会解释所显示的相关信息)。