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)