Windows怎么用CMD查看端口占用进程_Windows如何用netstat -ano找到占用端口的程序PID【技巧】-1

如果您在启动某个服务或应用程序时提示端口已被占用,但无法确定是哪个程序正在使用该端口,则可通过 Windows 内置的 netstat 命令快速定位对应进程的 PID(进程标识符),进而识别具体程序。以下是解决此问题的步骤:

一、查看系统所有端口监听与连接状态

该操作可获取当前系统全部活跃的网络连接和监听端口完整列表,包含协议类型、本地地址(含端口号)、远程地址、连接状态及对应进程 ID(PID),为后续精准排查提供基础数据支撑。

1、按下 Win + R 组合键,打开“运行”对话框。

2、输入 cmd 并按回车,启动命令提示符窗口。

3、在 CMD 中执行命令:netstat -ano。

4、观察输出结果中 Local Address 列(格式为 IP:端口)与最右侧 PID 列,识别目标端口所在行及其关联进程 ID。

二、精准筛选指定端口号的占用记录

当已知需检查的具体端口号(如 80、443、8080 等)时,可跳过全量扫描,直接过滤出该端口的监听或连接条目,避免人工逐行查找,提升定位效率。

1、在 CMD 中执行命令:netstat -ano | findstr “8080”(将 “8080” 替换为实际端口号)。

2、若返回结果非空,检查其 State 字段是否为 LISTENING、ESTABLISHED 或 TIME_WAIT 等有效状态。

3、提取该行末尾的数字,即为此端口所绑定的 PID。

三、根据 PID 反查对应进程名称

仅获知 PID 不足以判断进程安全性与用途,必须确认其映像名称(Image Name),防止误终止系统关键服务(如 svchost.exe、lsass.exe 等)。

1、在 CMD 中执行命令:tasklist | findstr “1234”(将 “1234” 替换为上一步查得的 PID)。

2、检查输出中 Image Name 列的内容,例如 chrome.exe、java.exe 或 mysqld.exe。

3、若无输出,说明该 PID 对应进程已退出,或需以管理员权限运行 CMD 后重试。

四、使用资源监视器图形化验证端口与进程映射关系

资源监视器提供可视化界面,支持按端口排序、展开侦听端口列表、显示完整映像路径等,有助于交叉验证命令行结果并识别可疑进程。

1、按下 Win + S 打开搜索,输入 资源监视器(或 resmon)并打开。

2、点击顶部的 网络 选项卡。

3、在下方的 侦听端口 栏目中点击展开,这里列出了所有正在监听的端口。

4、点击 端口 表头进行排序,找到您关注的端口号,查看对应的 映像(程序名称)和 PID。

5、右键点击该进程名称,可直接选择 结束进程 来释放端口。

五、通过 PowerShell 高级筛选快速定位并终止进程

PowerShell 支持管道化对象处理,可直接将端口查询与进程终止整合为单条命令,适用于需批量处理或多条件筛选的场景。

1、以管理员身份运行 PowerShell(右键开始菜单 → 选择“Windows PowerShell(管理员)”)。

2、执行命令:Get-NetTCPConnection -LocalPort 8080 | ForEach-Object { Get-Process -Id $_.OwningProcess } | Select-Object Id, ProcessName, Path(将 “8080” 替换为目标端口号)。

3、若需强制终止该进程,执行命令:Get-NetTCPConnection -LocalPort 8080 | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。