Handle v5.0

作者:Mark Russinovich

发布时间:2022 年 10 月 26 日

下载 下载 Handle (729 KB)

简介

有没有想过哪个程序打开了特定的文件或目录? 现在可以了解了。Handle 是一个实用工具,用于显示有关系统中任何进程的打开句柄的信息。 可以使用它查看打开了文件的程序,或查看程序的所有句柄的对象类型和名称。

还可以在 Sysinternals 中获取此程序基于 GUI 的版本,即进程资源管理器

安装

通过键入“handle”运行 Handle。 必须具有管理权限才能运行 Handle

使用情况

Handle 的目标是搜索打开的文件引用,因此,如果不指定任何命令行参数,它将列出系统中引用打开文件的所有句柄的值以及文件名。 它还需要多个参数来修改此行为。

用法handle [[-a [-l]] [-v|-vt] [-u] | [-c <handle> [-y]] | [-s]] [-p <process>|<pid>] [name]

参数 说明
-a 转储有关所有类型的句柄的信息,而不仅仅是引用文件的句柄。 其他类型包括端口、注册表项、同步基元、线程和进程。
-l 仅显示页面文件支持的节句柄。
-c 关闭指定的句柄(解释为十六进制数)。 必须通过其 PID 指定进程。
警告:关闭句柄可能会导致应用程序或系统不稳定。
-g 打印授予的访问权限。
-y 不要提示关闭句柄确认。
-s 打印每种类型的打开句柄的计数。
-u 搜索句柄时显示拥有用户名。
-v 使用逗号分隔符的 CSV 输出。
-vt 使用制表符分隔符的 CSV 输出。
-p 此参数不会检查系统中的所有句柄,而是将 Handle 的扫描范围缩小到以名称进程开头的进程。 因此:
handle -p exp
将为以“exp”开头的所有进程转储打开的文件,其中包括 Explorer。
name 存在此参数,以便你可以指示 Handle 搜索对具有特定名称的对象的引用。
例如,如果想要知道哪个进程(如果有)打开了“c:\windows\system32”,则可以键入:
handle windows\system
名称匹配不区分大小写,指定的片段可以是路径中你感兴趣的任意位置。

句柄输出

当未处于搜索模式(通过将名称片段指定为参数来启用)时,Handle 会将其输出划分为要为其打印句柄信息的每个进程的部分。 虚线用作分隔符,你将在其正下方看到进程名称及其进程 ID (PID)。 进程名称下面列出了句柄值(十六进制)、与句柄关联的对象类型以及对象名称(如果有)。

在搜索模式下,Handle 会打印进程名称,ID 列在左侧,具有匹配项的对象的名称位于右侧。

更多信息

可以在 Windows Internals 第 4 版 中找到有关对象管理器的详细信息,也可以使用 WinObj 浏览对象管理器名称空间来了解详细信息。

下载 下载 Handle (729 KB)