首先通过netstat或Get-NetTCPConnection命令查找占用端口的PID,再使用taskkill或Stop-Process终止对应进程,必要时通过netsh重置TCP/IP协议栈并重启释放系统保留端口。

如果您需要启动一个网络服务,但发现其无法绑定到指定端口,很可能是因为该端口已被其他进程占用。以下是利用命令行工具在 Windows 11 系统中排查端口占用问题的详细步骤:
本文运行环境:Surface Laptop 5,Windows 11。
netstat 是 Windows 内置的网络统计工具,可以显示所有活动的 TCP 连接、计算机正在监听的端口以及每个连接对应的进程 ID (PID)。通过结合管道符和 findstr 命令,可以快速筛选出特定端口的信息。
1、按 Win + X 组合键,选择“终端(管理员)”或“命令提示符(管理员)”,以确保拥有足够的权限执行查询。
2、在打开的命令行窗口中,输入以下命令并按回车执行:netstat -ano | findstr :端口号,请将“端口号”替换为您需要检查的实际数字,例如 8080。
3、查看命令输出结果,找到状态为 LISTENING 的行,其最后一列的数字即为占用该端口的进程 PID。如果没有任何输出,则说明该端口当前未被占用。
获取到占用端口的进程 PID 后,下一步是确定该进程的具体名称,并选择合适的方法将其终止,从而释放端口资源。可以通过命令行或图形化界面两种方式完成。
1、在命令行中,输入 tasklist | findstr "PID" 命令(将“PID”替换为上一步查到的实际数字)来查询进程名称,例如 tasklist | findstr "1234"。
2、确认进程信息后,可以直接在命令行中强制结束该进程。输入命令:taskkill /PID PID号 /F,例如 taskkill /PID 1234 /F。其中 /F 参数表示强制终止。
3、或者,按下 Ctrl + Shift + Esc 快捷键打开任务管理器,切换到“详细信息”选项卡,在“PID”列中找到对应的进程,右键点击并选择“结束任务”。
PowerShell 提供了更现代的 cmdlet 命令,语法更为清晰,可以直接获取 TCP 连接及其关联的进程信息,是 netstat 命令的一个强大替代方案。
1、按 Win + X 组合键,选择“Windows PowerShell(管理员)”或“终端(管理员)”。
2、在 PowerShell 窗口中,输入命令:Get-NetTCPConnection -LocalPort 端口号 | Select-Object OwningProcess,将“端口号”替换为实际值,执行后将直接返回占用该端口的进程 PID。
3、获取 PID 后,使用 Stop-Process 命令终止进程。输入:Stop-Process -Id PID号 -Force,例如 Stop-Process -Id 1234 -Force。-Force 参数的作用等同于 taskkill 的 /F 参数。
有时,即使没有程序运行,某些端口范围也可能被系统保留而无法使用。这通常发生在 Hyper-V 或 WSL 等服务修改了系统的动态端口分配范围之后。此时需要重置 TCP/IP 协议栈来恢复默认设置。
1、以管理员身份打开命令提示符或 PowerShell。
2、输入命令 netsh int ip show excludedportrange protocol=tcp 并执行,查看当前被系统排除(保留)的 TCP 端口范围列表。
3、执行重置命令:netsh int ip reset。此操作会将 TCP/IP 配置恢复为默认状态。
4、重启计算机,使重置生效。重启后,之前被保留的端口范围通常会被释放,可供应用程序使用。
以上就是win11怎么查看端口是否被占用 Win11使用netstat命令排查网络问题【进阶】的详细内容,更多请关注php中文网其它相关文章!
Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号