发布于2026-08-19 阅读(0)
扫一扫,手机访问
Windows 10端口被占用时,应先用netstat -ano | findstr ":端口号"查PID,再用tasklist | findstr "PID"确认进程名,最后执行taskkill /PID PID /F强制终止;若PID为4则属系统级占用,需通过关闭IIS等Windows功能释放。

Windows 10 提示“端口已被占用”时,服务或开发工具无法启动,常见于本地调试(如 Vue DevServer 占用 8080、Node.js 占用 3000、IIS 占用 80),必须定位并终止实际占用进程,否则重启软件或重装系统都无效。
这是最通用、无需图形界面的方法,适用于所有 Windows 10 版本,且能直接获取 PID 并终止进程。
按下 Win + R → 输入 cmd → 右键命令提示符标题栏 → 选择“以管理员身份运行”。
执行命令:netstat -ano | findstr ":8080"(将 8080 替换为你被占的实际端口号,注意冒号不能省略)。
若返回结果中最后一列为 1234,说明 PID 是 1234;若无输出,代表该端口当前未被任何进程监听——请检查是否输错端口号或服务尚未启动。
通过执行 tasklist | findstr "1234" 来查看进程名。要是显示的是 ja va.exe 或者 node.exe 这类能够安全终止的程序,那就可以接着进行下一步;但要是显示的是 System 并且PID为4,那大概率就是被HTTP.sys驱动或者IIS占用了,绝不能直接用taskkill,得采用系统服务方案才行。
确认无误后,执行 taskkill /PID 1234 /F 强制结束进程。这一步会立即释放端口,无需重启。
适合不熟悉命令行、需要快速确认端口与进程对应关系的用户,界面直观,避免手误杀错进程。
按下 Win + R → 输入 resmon → 回车打开资源监视器。
切换到“网络”选项卡 → 滚动到底部,点击“侦听端口”右侧的三角箭头展开列表。
在展开的表格中,直接查找目标端口号(如 3000),注意核对“映像名称”列,确认是不是你正在开发的应用或调试工具。
右键该行 → 选择“结束进程”。此时系统会弹出确认框,勾选“仍要结束进程”后点击确定。
PowerShell 命令更简洁,支持管道直出进程名,减少人工比对环节,特别适合写成脚本批量处理多个端口。
第一步:按 Win + X → 选择“Windows PowerShell(管理员)”。
第二步:执行以下命令(将8080替换为你的端口):Get-NetTCPConnection -LocalPort 8080 | ForEach-Object { $pid = $_.OwningProcess; Write-Host "PID: $pid"; Get-Process -Id $pid | Select-Object ProcessName, Path, ID }
第三步:命令执行后会清晰列出进程名、完整路径和 PID;若路径指向 C:UsersxxxAppDataRoamingnvm 或 IntelliJ IDEA 目录,基本可判定为开发环境残留进程。
第四步:复制 PID,执行 Stop-Process -Id 1234 -Force(替换 1234 为实际 PID)。
当 netstat -ano | findstr ":80" 返回 PID 为 4,且 tasklist | findstr "4" 显示映像名为 System,说明是 Windows 内核级服务(HTTP.sys)在监听,强行 taskkill 会失败甚至导致蓝屏。
先运行 netsh http show servicestate,查看“注册 URL”列表中是否包含 http://+:80/ 类条目,以及其对应的“应用程序 ID”。
若看到类似 DefaultAppPool 或 W3SVC,说明是 IIS 或 WAS(Windows Process Activation Service)在托管 HTTP 流量。
打开“控制面板 → 程序 → 启用或关闭 Windows 功能” → 取消勾选“Internet Information Services”及其全部子项 → 点击确定 → 等待系统应用更改。
完成后重启电脑,80/443 端口即被彻底释放。此操作不会影响普通上网或非 Web 服务。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9