登录
首页 >  文章 >  软件教程

Win11查看进程句柄的详细步骤

时间:2026-01-27 12:27:44 499浏览 收藏

在文章实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《Win11查看进程句柄方法步骤详解》,聊聊,希望可以帮助到正在努力赚钱的你。

在Windows 11中排查句柄异常需五步:一、任务管理器启用“句柄”列排序定位高消耗进程;二、资源监视器搜索“关联的句柄”精确定位文件/注册表占用;三、Process Explorer查看句柄类型与完整路径;四、Handle.exe命令行筛选特定文件或进程句柄;五、PowerShell导出句柄数据为CSV分析。

win11句柄怎么看_win11查看进程句柄方法【步骤】

如果您在 Windows 11 中怀疑存在句柄异常占用(如句柄数高达十几万)、文件被未知进程锁定,或需排查资源泄露问题,则必须准确查看各进程当前打开的句柄详情。以下是具体操作步骤:

一、在任务管理器中启用并查看句柄数量

任务管理器默认不显示句柄列,需手动启用才能观察每个进程持有的句柄总数,适用于快速识别高句柄消耗进程。

1、按 Ctrl + Shift + Esc 打开任务管理器。

2、切换到 “详细信息”选项卡

3、在列标题区域(如“名称”“PID”上方)右键 → 选择“选择列”

4、在弹出窗口中勾选“句柄”,点击“确定”。

5、此时列表将显示每行进程的句柄数量;可点击“句柄”列标题进行升序或降序排序,快速定位异常高值进程。

二、使用资源监视器定位具体被占用的文件或对象

任务管理器仅显示句柄数量,无法指出句柄对应的具体文件、注册表项或设备。资源监视器提供“关联的句柄”搜索功能,可精确定位占用源。

1、按 Win + R 打开运行对话框,输入 resmon 并回车启动资源监视器。

2、切换至 “CPU”选项卡

3、在下方“关联的句柄”区域右侧的搜索框内,输入目标文件名、路径片段或关键词(如“.log”、“temp”)

4、点击搜索框右侧下拉箭头,系统将列出所有匹配的句柄条目,包含进程名称、PID、句柄类型(File/Key/Event等)及完整路径

三、使用 Process Explorer 查看句柄详情与对象类型

Process Explorer 是微软 Sysinternals 官方工具,可替代任务管理器并深度展示每个句柄指向的内核对象(如文件路径、注册表键、互斥体),支持高亮泄露句柄。

1、从微软官网下载 Sysinternals Suite 并解压,运行 ProcessExplorer64.exe(需以管理员身份运行)。

2、首次运行时,若提示“是否替换任务管理器”,可勾选“是”以便后续快捷调用。

3、点击菜单栏 View → Select Columns,在“Process Performance”页签下勾选 “Handle Count”,确认后主界面即显示句柄数。

4、点击列标题 “Handle Count”排序,双击高句柄进程,在下方窗格切换至 “Handles”标签页

5、在 Handles 列表中可查看每个句柄的对象类型、名称(含完整文件路径或注册表路径)、访问权限;支持 Ctrl+F 搜索关键字。

四、使用 Handle.exe 命令行工具精确筛选句柄

Handle.exe 同属 Sysinternals 工具集,轻量且支持命令行过滤,适合批量分析或脚本集成,可直接输出文本结果供进一步处理。

1、将 Handle.exe 放入任意目录(如 C:\tools),以管理员身份打开 Windows 终端。

2、执行命令查看所有进程的句柄总数:handle -s -p

3、查找占用特定文件的进程:handle -a "C:\path\to\file.txt"(支持通配符,如 *.tmp)。

4、按进程名筛选句柄:handle -p notepad.exe

5、导出全部句柄到文本文件便于分析:handle -a > handles_all.txt

五、通过 PowerShell 获取句柄信息并导出结构化数据

PowerShell 可调用 WMI 或 .NET 方法获取句柄统计,配合导出为 CSV 实现跨进程对比分析,适合系统管理员批量审计。

1、以管理员身份运行 Windows 终端,切换至 PowerShell 标签页。

2、执行命令获取所有进程及其句柄计数:Get-Process | Select-Object Name, Id, HandleCount | Sort-Object HandleCount -Descending | Where-Object {$_.HandleCount -gt 1000}

3、将结果导出为 CSV 文件:Get-Process | Select-Object Name, Id, HandleCount | Export-Csv -Path "$env:USERPROFILE\Desktop\handles.csv" -NoTypeInformation

4、如需深入查看某进程的句柄对象(需配合 Handle.exe):.\handle.exe -p 1234 | Out-String(将 1234 替换为目标 PID)。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>