当你在Windows上启动某个网络服务时,如果发现它无法正常启动,很可能是因为所需的端口已被其他程序占用。了解如何查看端口占用情况,能帮你快速定位并解决问题。

这时,你可以先用 netstat 命令快速查看端口占用情况。通过获取到的 PID,在任务管理器里定位对应的进程。除此之外,PowerShell 提供的 Get-NetTCPConnection 和 Get-Process 命令也能帮你获取进程名。如果觉得命令行操作不够直观,像 CurrPorts 这样的图形化工具,能让你一目了然地识别并释放被占用的端口。
本文运行环境:联想小新Pro 16,Windows 11
一、使用netstat命令查看端口占用
netstat 是Windows系统内置的网络统计工具。使用它,你可以查看当前所有活动的网络连接、监听端口以及对应的进程标识符。
1、按下Win + R键,打开“运行”窗口,输入cmd并回车,以打开命令提示符。
2、在命令提示符中输入以下命令并按回车执行:
netstat -ano | findstr :端口号
3、将“端口号”替换为你想查询的实际端口(例如80或3306)。系统将会列出所有匹配的连接信息,其中最后一列就是PID,也就是进程标识符。
二、通过任务管理器查找占用端口的进程
获取到端口对应的 PID 后,打开任务管理器,就能轻松找到是哪个应用程序占用了这个端口。
1、按下Ctrl + Shift + Esc,直接打开任务管理器。
2、切换到“详细信息”选项卡,确保能看到所有进程及其PID信息。
3、在 PID 列中,找到与 netstat 命令输出一致的数值,其所在行便是占用该端口的进程。
4、右键单击该进程,你可以选择“结束任务”来释放端口。请注意谨慎操作,避免误关闭关键的系统进程。
三、使用PowerShell获取端口占用详情
PowerShell 的功能比传统命令提示符更强大,结合 Get-NetTCPConnection 命令,可以直接获取占用端口的进程详细信息。
1、右键单击开始菜单,选择“Windows PowerShell(管理员)”启动。
2、输入以下命令并回车:
Get-NetTCPConnection -LocalPort 端口号 | Select-Object OwningProcess
3、记下命令返回的 OwningProcess 值(即PID),然后使用以下命令获取进程名称:
Get-Process -Id PID值
系统将显示该进程的名称、路径等详细信息。
四、利用第三方工具可视化查看端口占用
对于不熟悉命令行的用户,图形化工具能让端口监控变得一目了然。
1、下载并安装 CurrPorts(NirSoft出品的一款免费工具)。
2、运行程序后,它会自动列出当前所有打开的TCP/UDP连接。
3、在列表中根据“本地端口”列查找目标端口,对应的“进程名称”和“PID”等信息会清晰显示。
4、该工具支持直接在界面中关闭选定的连接(通常需要管理员权限)。
