Process Explorer工具

1.Procexp概述

procexp的部分功能包括:

显示进程父子关系的树形图视图

代码着色,用于区分进程的类型和状态

工具提示:可显示命令行信息以及与进程有关的其他信息

带小数的CPU用量:用于显示虽未彻底不活跃但只使用极少量CPU时间的进程

可查找哪些进程加载了某个dll

默认列:

Process(进程):该列显示了可执行文件的名称,如果Procexp可以识别可执行文件的完整路径,还会显示文件的图标,列表的前三行代表“伪进程”

CPU:该列显示了上一次刷新间隙时进程消耗的CPU时间百分率,四舍五入为包含两位小数

Private Bytes:该列显示了进程专用,不与其他进程共享的已分配和已提交字节数。每进程的专用字节数包含堆(Heap)和栈(Stack)内存。该值持续增加通常意味着内存泄漏

Working Set(工作集):该列显示了内存管理器为该进程分配的物理内存数量

PID:进程ID

Description(描述)和Company Name(公司名):只有在Procexp能够识别文件路径并读取文件时这两列才会显示内容

窍门:在主窗口和下方窗格中,可以按下Ctrl+C将所选中的内容以“制表符分隔的文本”像是复制到剪贴板 

进程树:

process列始终会显示在最左侧,该列包含三种排序模式:升序、降序、进程树

默认情况下,当一个进程创建另一个进程后,Windows会将创建进程的进程(父进程)的进程ID(PID)包含在新进程(子进程)的内部数据结构中

进程活动:

直接右键点击,或选中后从【Process】菜单中选择不同选项,随后即可针对进程执行各种操作

Windows(窗口)子菜单:如果进程在桌面上显示了可见窗口,即可使用Windows子菜单将窗口置于前端、还原、最小化、最大化,或直接关闭。如果进程不包含可见窗口,Windows子菜单将不可用

Set Affinity(设置相关性):在多CPU系统中可以为进程设置处理器相关性,这样就可以只使用我们指定的一个或多个CPU执行该进程的线程。如果有失控的进程耗费了大量CPU,为了对其进行排错必须继续运行但希望对进程进行限制,此时可以使用 该功能。我们可以使用Set Affinity限制进程临时只能在一个内核中运行,这样既可释放其他CPU,确保系统依然可用。

Set Priority(设置优先级):查看或设置进程的基本调度优先级

Kill Process(终止进程 ):选择【Kill Process】或单击工具栏上的【Kill Process】按钮可强制终止进程。默认情况下Procexp会在终止进程前要求用户确认,但可在【Options】菜单下反选【Confirm Kill】(确认终止)禁止确认

警告:强制终止进程会使得进程没有机会正确关闭,进而可能导致数据丢失或系统不稳定。终止关键系统进程会导致Windows立刻出现蓝屏死机崩溃

Kill Process Tree(终止进程树):打开Procexp的进程树排序模式后可以使用这个选项强制终止一个进程以及该进程的所有“后代”。如果启用了【Confirm Kill】选项,还需要对该操作进行确认

Restart(重启动):选择该选项后,Procexp会终止选中的进程,并使用相同的命令行参数重新启动相同映像

Suspend(挂起):如果希望让进程赞数处于不活跃的状态,以便让网络、CPU或磁盘等系统资源可以被其他进程使用,此时可以挂起该进程的线程,若要恢复挂起的进程,可以从进程的上下文菜单选择【Resume】(恢复)。

Launch Depends(启动依赖项):如果具备Dependency Walker(Depends.exe)工具,Procexp会使用所选进程的可执行映像路径作为命令行参数启动该工具。Depends.exe会显示DLL的依赖情况。

Create Dump(创建转储)子菜单:为所选进程创建小型或完整内存转储,并将转储文件保存在自己选择的位置

Properties(属性):该选项可以打开所选进程的属性对话框,其中显示了有关该进程的大量细节信息。

定制可显示的列:

右键点击列头行并选择【Select Columns】(选择列),或从【View】菜单中选择【Select Columns】,即可选择要显示的列

保存显示的数据:单击工具栏上的【Save】(保存)图标可将当前进程活动的快照保存为文本文件。Procexp会保存主窗口中设置显示的所有列中包含的数据,如果打开了下方窗格,该窗格中的数据也会保存。数据会保存为制表符分隔的文本文件。如果在保存时尚未选中文件,Procexp会要求用户选择文件位置,并为文件使用与当前所选进程相匹配的默认文件名。要更改文件位置,请从【File】(文件)菜单选择【Save As】(另存为)

工具栏参考:

Procexp的工具栏包含可快速执行常用功能的按钮,

工具栏按钮:

Save(保存):

Pefresh Now(立刻刷新)

System Information(系统信息)

Show Process Tree(显示进程树)

Show/Hide Lower Pane(toggle)(显示/隐藏下方窗格(切换))

View DLLs/View Handles(toggle)(查看DLL/查看句柄(切换))

properties(属性)

Kill Process/Close Handle(终止进程/关闭句柄)

Find Handle or DLL(查找句柄或DLL)

Find Window‘s Process(查找窗口的进程)

找出窗口对应的进程

我们可以快速找出在桌面上显示有可见窗口的进程。在工具栏上的十字准星图标上单击并保持,随后拖拽至目标窗口,这种方法可以帮助我们了解某些非预期错误的来源程序。

DLL和句柄

DLL视图可列出所有动态链接库和进程地址空间内映射的其他文件,Handle(句柄)视图可列出进程打开的所有内核对象。按下Ctrl+D可打开DLL视图,按下Ctrl+H可打开句柄视图,按下Ctrl+L可打开或关闭下方窗格。

查找DLL和句柄

         Procexp最强大的功能之一是可以快速找出加载某个DLL或打开内核对象的进程。例如:假设要删除一个文件夹,由于该文件夹“被其他程序打开”,Windows不允许我们删除,但Windows并不会告诉我们具体是哪个程序。此时按下Ctrl+F打开Search(搜索)对话框,输入要查找的DLL或对象的完整或部分名称,随后单继【search】按钮。Procexp会在自己可访问的每个DLL路径、句柄类型,以及句柄名称中寻找包含所输入字符的内容,并列出搜索到结果所对应的进程。单击匹配项可在下方窗格将其选中,并在上方窗格中选中拥有该内容的进程。双击可以选择内容并自动关闭Search对话框。

如果返回的搜索结果太多,可以单击列头按照该列内容对结果进行排序。

DLL视图

DLL视图可显示所选进程加载的所有DLL。System Idle Process和Interrupts伪进程,以及受保护进程的DLL视图无法显示任何内容。Procexp需要具备管理权力才可以列出以不同用户身份运行的进程加载的DLL,但此时无法列出System进程加载的映像。

DLL视图的自定义

打开DLL视图后,右键单击下方窗格中的列头并选择【Select Columns】,随后可打开Select Columns对话框的DLL选项卡。DLL选项卡列出了可选择并显示在Procexp DLL视图中的所有DLL和映射文件的属性。

进程详情

Procexp主窗口中的进程列表可显示有关系统中进程的大量信息。如果希望查看有关特定进程的进一步详情,可以在Procexp主窗口中双击进程,打开其属性对话框。Procexp会将属性信息显示在多个选项卡中:Image(映像)、Performance(性能)、Performance Graph(性能图表)、Threads(线程)、TCP\IP、Security(安全)、Environment(环境)以及Strings(字符串)。如果使用管理权利运行,还可以显示Disk(磁盘)和NetWork(网络)选项卡,如果计算机有一个或多个GPU,还将显示GPU Graph(GPU图形)选项卡。

Image选项卡

Image(映像选项卡),可显示进程生命周期大部分情况下保持静态的信息,包括从可执行映像文件的图标和版本资源中收集的信息,映像文件的完整路径,用于启动该进程的命令行,其自动启动位置,运行该进程使用的用户账户,有关进程何时启动的信息,以及x64版本Windows中该进程是32位或64位。

单击【Kill Process】按钮可强制终止该进程。默认情况下,当我们终止进程之前Procexp会进行确认。如果需要禁止确认,可在【Options】菜单下反选【Confirm Kill】选项。

警告:强制终止进程会使得进程无法正确关闭,进而可能导致数据丢失或影响系统稳定性。此外如果要终止的是类似Csrss.exe这种关键的系统进程,Procexp不会显示额外的警告。终止关键系统进程会导致Windows立刻蓝屏死机崩溃。

Performance选项卡

Performance(性能)选项卡,可显示有关CPU用量、虚拟内存、物理内存(工作集)、I/O、内核对象句柄数、窗口管理器句柄数等度量值。该选项卡下的所有数据会在Procexp刷新时同步更新。

Performance Graph选项卡

Performance Graph(性能图形)选项卡针对每一个进程显示了类似任务管理器的性能图标。最上方的图标显示了最近的CPU用量历史,其中红色区域代表该进程内核模式的用量,上方的绿色区域代表用户模式的用量。注意,该图标并不能区分显示不同CPU的用量。如果在双核系统中进程使用了其中一个CPU100%的时间,但另一个CPU完全没有使用,此时图标将显示为50%的用量。

第二个图标显示了进程已提交专用字节数的最近历史。该图标数值持续增加可能意味着内存泄漏

第三个图表代表进程的文件和设置I/O吞吐量历史记录,其中浅蓝色线条代表两次刷新之间的I/O总流量,粉红线条代表写入操作的流量

用Procexp取代任务管理器

由于Procexp提供了比任务管理器更为丰富的信息,因此很多人可能会只使用Procexp而不再使用任务管理器。实际上Procexp提供了一种取代任务管理器的方法,通过【Options】菜单选择【Replace Task Manager】(取代任务管理器)后,无论用什么方式启动TaskMgr.exe,Windows都会转为启动Procexp。

通过Procexp启动进程

在任务管理器中可通过【文件】-【运行】命令启动新进程,Procexp也提供了【File】-【Run】命令,并在【File】菜单提供了使用提升或级后的权力运行新进程的多个选项:

(1)如果Procexp未以提升模式运行,那么Run As Administrator(以管理员身份运行)命令须先提升才能启动新进程

(2)Run As Limited User(以受限用户身份运行)命令可以更少的权利启动新进程,运行新进程使用的令牌中将取消大部分特权,其高级组将被标记为Deny-Only(仅拒绝)如果Procexp具备管理权力,那么新进程的权利将大致等同于使用同一个用户账户以标准用户身份运行时所获得的权利

其他功能:

关机选项

可以通过【File】-【Shutdown】子菜单注销、关闭、锁定或重启动计算机。如果有系统支持,还会列出Hibernate(休眠)和Stand By(待机)的选项。

恢复Procexp的默认值

Procexp会将自己的所有配置信息存储在“HKEY_CURRENT_USER\Software\Sysinternals\Process Explorer”注册表键值下。因此将Procexp的配置恢复为默认值最简单的方法是关闭Procexp,删除该注册表键,然后重新启动Procexp

键盘快捷键参考:

按键组合描述
Ctrl+A将显示的数据保存为新文件(文件-另存为)
Ctrl+C复制主窗口或底部窗格当前行的内容
Ctrl+D显示DLL视图
Ctrl+H显示句柄视图
Ctrl+F查找句柄或DLL
Ctrl+I显示系统信息对话框
Ctrl+L显示/隐藏底部窗格
Ctrl+M在线搜索
Ctrl+R启动新进程(文件-运行)
Ctrl+S将显示的数据保存为新文件(文件-另存为)
Ctrl+T以树形图形式显示进程列表(查看-显示进程树)

Ctrl+1,Ctrl+2等

加载第一、第二个列集,以此类推
空格键暂停/恢复自动更新
Del终止所选进程
Shift+Del终止进程树-所选进程及其后代
F1显示帮助
F5立刻刷新-更新所显示的数据

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gx1500291

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值