Windows 11中排查端口占用需五步:一、用netstat -ano查监听端口及PID;二、用findstr筛选指定端口;三、用tasklist或wmic查PID对应进程名与路径;四、用PowerShell的Get-NetTCPConnection直接关联端口与进程;五、用资源监视器图形化验证。

如果您在运行本地服务或调试网络应用时遇到端口冲突提示,例如“端口已被占用”或“Address already in use”,则说明该端口正被某个进程监听。以下是查看 Windows 11 系统中端口占用情况的具体操作步骤:
一、使用 netstat 命令列出所有监听端口及对应 PID
netstat 是 Windows 内置的网络状态工具,配合 -ano 参数可完整显示所有 TCP/UDP 监听端口及其所属进程标识符(PID),为后续识别提供基础依据。
1、按下 Win + X 组合键,在弹出菜单中选择终端(管理员)。
2、输入命令:netstat -ano -p TCP,按回车执行,将列出全部 TCP 协议下的监听端口与 PID。
3、若需快速浏览所有端口(含 UDP),可执行:netstat -ano。
4、观察输出中的“本地地址”列,查找形如 :8080 或 :3000 的端口号,并记录其对应行末尾的PID 数值。
二、通过管道筛选定位指定端口号的占用进程
该方法避免在大量 netstat 输出中人工翻找,直接聚焦目标端口,提升排查效率,适用于已知具体端口号的场景。
1、在管理员终端中输入命令:netstat -ano | findstr :8080,将 8080 替换为您要检查的实际端口号。
2、若存在匹配项,输出格式类似:TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 12345,其中 12345 即为占用该端口的进程 PID。
3、若无任何输出,则表明该端口当前未被任何进程监听。
三、根据 PID 查询对应进程名称与可执行文件路径
仅获知 PID 无法判断进程用途,必须结合 tasklist 或 wmic 命令确认映像名称及完整路径,防止误终止系统关键服务。
1、在同终端中输入:tasklist | findstr 12345,将 12345 替换为上一步查得的 PID。
2、输出示例:chrome.exe 12345 Console 1 194,568 K,第二列为进程映像名称。
3、如需获取完整路径与启动命令行,执行:wmic process where "ProcessId=12345" get Name,ExecutablePath,CommandLine。
四、使用 PowerShell cmdlet 直接关联端口与进程实例
PowerShell 提供面向对象的网络连接查询能力,无需手动解析 PID,可一次性获取端口、状态、进程名等结构化信息,降低操作链断裂风险。
1、按下 Win + X,选择终端(管理员)(确保处于 PowerShell 模式)。
2、输入命令:Get-NetTCPConnection -LocalPort 8080 | ForEach-Object { Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue | Select-Object Id, ProcessName, Path }。
3、执行后将直接返回占用 8080 端口的进程 ID、名称及可执行文件路径。
4、若需查询所有处于 LISTENING 状态的 TCP 端口,可改用:Get-NetTCPConnection -State Listen | Select-Object LocalPort, OwningProcess | ForEach-Object { $_; Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue | Select-Object ProcessName }。
五、通过资源监视器图形界面直观验证端口与进程映射关系
资源监视器提供实时网络活动视图,支持按端口升序/降序排列、双击跳转进程、右键快速操作,适合不熟悉命令行的用户交叉核对结果。
1、按下 Win + R,输入 resmon 并回车,打开资源监视器。
2、点击顶部网络选项卡。
3、展开下方监听端口区域。
4、点击端口列标题进行排序,快速定位目标端口号(如 3000 或 6379)。
5、观察对应行的进程列内容,确认程序名称及 PID,并可右键选择转到进程在任务管理器中高亮显示。

















