Windows 10中排查端口占用需依次执行:一、用netstat -ano查所有端口及PID;二、用findstr筛选指定端口;三、用tasklist查PID对应进程名;四、用任务管理器“详细信息”页验证;五、用PowerShell命令直接获取进程名与路径。

如果您在 Windows 10 系统中启动网络服务或应用程序时收到“端口已被占用”提示,则说明该端口号正被其他进程监听或连接。以下是查找端口被哪个程序占用的多种方法:
一、使用 netstat -ano 查看全部端口及对应 PID
该命令可一次性列出系统当前所有 TCP/UDP 连接、监听端口及其关联的进程标识符(PID),是识别端口占用的基础手段,无需安装第三方软件,适用于所有标准 Win10 安装环境。
1、同时按下 Win + R 键,打开“运行”对话框。
2、输入 cmd,按回车键启动命令提示符窗口。
3、在命令行中输入以下命令并回车:netstat -ano。
4、观察输出结果中的“本地地址”列(如 0.0.0.0:8080 或 127.0.0.1:3306),冒号后数字即为端口号;最右侧“PID”列为该连接所属进程的唯一编号。
二、用 findstr 精准筛选指定端口的占用记录
当已知需排查的具体端口号(如 80、3306、8080)时,直接过滤 netstat 输出可避免人工逐行扫描,显著提升定位效率,尤其适用于多服务共存的系统环境。
1、在已打开的命令提示符窗口中,输入格式为:netstat -ano | findstr ":8080"(将 8080 替换为实际目标端口号,保留冒号以精准匹配端口字段)。
2、若无返回结果,尝试去掉冒号再执行:netstat -ano | findstr "8080"(部分 Windows 版本对格式敏感)。
3、成功匹配后,从输出行末尾提取 PID 数值(例如 12345)。
三、通过 tasklist 命令反查 PID 对应的进程名称
该方式不依赖图形界面,在无鼠标、远程 CMD 或自动化脚本场景下仍可独立完成,直接将 PID 映射为可识别的程序文件名,便于判断是否为合法服务或异常进程。
1、在命令提示符中输入:tasklist | findstr "12345"(将 12345 替换为上一步查得的实际 PID)。
2、输出结果中第二列为“映像名称”,例如 java.exe、nginx.exe 或 svchost.exe,即为占用端口的程序可执行文件名。
3、若输出为空,请确认 PID 输入正确,且该进程仍在运行;部分系统服务可能需管理员权限才能完整显示。
四、使用任务管理器“详细信息”页验证 PID 与进程名
任务管理器提供可视化交互界面,支持列排序与高亮,可直观核对命令行结果,增强排查过程的可靠性与可追溯性,适合不熟悉命令行操作的用户快速确认。
1、按下 Ctrl + Shift + Esc 快捷键,直接打开任务管理器。
2、切换到“详细信息”选项卡。
3、右键点击任意列标题,在弹出菜单中勾选 PID,确保该列可见。
4、点击 PID 列标题进行升序排列,快速定位目标 PID 所在行,确认其“映像名称”列内容与 tasklist 命令结果一致。
五、使用 PowerShell 直接获取端口所属进程信息
PowerShell 提供更结构化的输出方式,支持直接获取进程对象,能绕过 PID 中间步骤,一次性定位端口对应的进程名称与完整路径,适合熟悉脚本操作的用户快速验证。
1、右键点击“开始”按钮,选择 Windows PowerShell(管理员) 以管理员身份运行。
2、输入以下命令(以端口 80 为例):Get-NetTCPConnection -LocalPort 80 | ForEach-Object { Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue }。
3、返回结果中的 ProcessName 字段即为占用端口的程序名称,Path 字段显示其完整安装路径。











