需检查端口监听状态以排查冲突:一、netstat -ano查全部监听端口及PID;二、findstr过滤指定端口;三、tasklist查PID对应进程名;四、资源监视器图形化查看;五、PowerShell直接获取进程信息;六、任务管理器定位并结束进程。

如果您需要确认某个网络端口是否正在被监听,或排查服务启动失败是否因端口冲突导致,则需检查系统当前的端口监听状态。以下是多种可直接执行的检查方法:
一、使用 netstat -ano 列出全部监听端口及对应 PID
该命令一次性输出所有 TCP/UDP 连接与监听端口,并附带进程标识符(PID),是识别端口占用的基础手段,无需安装额外工具。
1、同时按下 Win + R 键,打开“运行”对话框。
2、输入 cmd 并按回车,启动命令提示符。
3、在命令提示符中输入:netstat -ano,然后按回车。
4、在输出结果中查找 State 列显示为 LISTENING 的行,其 Local Address 列末尾的数字(如 :80、:3306)即为端口号,最右侧数值为关联的 PID。
二、用 findstr 精准过滤指定端口的监听记录
当已知目标端口号时,直接筛选可避免人工扫描冗长列表,提升定位效率,并降低误判风险。
1、在已打开的命令提示符中,输入格式命令(以端口 8080 为例):netstat -ano | findstr ":8080"。
2、若无返回结果,尝试去掉冒号执行:netstat -ano | findstr "8080"(部分系统版本对格式敏感)。
3、匹配成功后,输出行末尾的数字即为该端口对应的 PID 值(例如 5678)。
三、通过 tasklist 查询 PID 所属进程名称
获取 PID 后必须确认其对应的实际可执行文件名,以便判断是否为预期服务(如 nginx.exe)、开发进程(如 java.exe)或异常程序。
1、在命令提示符中输入:tasklist | findstr "5678"(将 5678 替换为上一步查得的真实 PID)。
2、输出结果中第一列为 映像名称(如 chrome.exe、sqlservr.exe、svchost.exe)。
3、若输出为空,说明该 PID 进程已退出但端口状态未刷新;可等待数秒后重试,或执行 netstat -ano 再次验证。
四、使用资源监视器图形化查看监听端口
资源监视器提供免命令、全字段可视化的界面,直接展示协议类型、完整进程路径、用户账户及监听状态,适合不熟悉命令行操作的用户快速确认端口归属。
1、同时按下 Win + R 键,输入 resmon 并按回车,启动资源监视器。
2、点击顶部选项卡中的 网络。
3、向下滚动至 监听端口(Listening Ports) 区域,此处按端口号排序列出所有处于 LISTEN 状态的端口。
4、每行包含 端口、协议、进程、PID、路径 等完整信息,可直接定位占用者。
五、使用 PowerShell(管理员权限)直接获取端口对应进程
PowerShell 提供更简洁的 cmdlet,能绕过 PID 中转步骤,直接根据端口号查出进程名和完整路径,适用于需要精确匹配的场景。
1、右键点击“开始”按钮,选择 Windows PowerShell(管理员) 或 终端(管理员)。
2、输入命令:Get-NetTCPConnection -LocalPort 8080 | Select-Object -ExpandProperty OwningProcess(将 8080 替换为目标端口)。
3、记下返回的 PID,再执行:Get-Process -Id 5678(将 5678 替换为实际 PID)。
4、结果中 ProcessName 和 Path 字段 即为占用端口的程序信息。
六、通过任务管理器定位并结束占用进程
任务管理器提供直观的 PID 与进程名称对照视图,支持快速识别并终止非关键进程,降低误操作风险。
1、按下 Ctrl + Shift + Esc 直接打开任务管理器。
2、切换至 详细信息 选项卡。
3、右键点击任意列标题,勾选 PID 以显示该列。
4、按 PID 列排序,快速找到与目标 PID 一致的行,观察其 名称 列确认程序身份。
5、右键该进程,选择 结束任务,并在弹出提示中点击 结束进程。










