Windows 10 中可使用 netstat -ano 查看端口及PID,配合 findstr 筛选、tasklist 查询进程名、资源监视器图形化查看或 PowerShell 命令 Get-NetTCPConnection 快速定位占用端口的程序。

如果您需要确认 Windows 10 系统中某个端口是否被占用,或想查明是哪个程序正在使用该端口,则可通过系统内置命令行工具快速定位。以下是多种可靠且可立即执行的排查方法:
一、使用 netstat -ano 查看全部端口及对应进程ID
该命令可列出当前所有 TCP/UDP 连接、监听端口及其关联的进程标识符(PID),是端口占用分析的基础操作,无需额外安装软件,适用于所有标准 Win10 安装环境。
1、同时按下 Win + R 键,打开“运行”对话框。
2、输入 cmd 并按回车键,启动命令提示符。
3、在命令提示符窗口中输入以下命令并回车:netstat -ano。
4、观察输出结果中的 Local Address 列(如 :8080 表示端口 8080)、State 列(显示 LISTENING 即表示该端口正被监听)以及最右侧的 PID 列。
二、使用 findstr 筛选指定端口号的占用记录
当已知目标端口号(如 3306、8080 或 5000)时,直接过滤 netstat 输出可避免人工扫描大量条目,提升定位效率,尤其适用于高并发或多服务共存的系统环境。
1、在已打开的命令提示符中,输入以下格式命令(以端口 8080 为例):netstat -aon | findstr ":8080"。
2、若未返回结果,尝试去掉冒号再执行:netstat -aon | findstr "8080"(部分 Windows 版本对格式敏感)。
3、成功匹配后,将显示包含该端口号的一行或多行,从中提取最右侧的 PID 数值(如 12345)。
三、通过 tasklist 查询 PID 对应的进程名称
获取 PID 后需进一步确认其代表的具体可执行文件名称,以便判断是否为预期服务(如 nginx.exe)、开发服务(如 java.exe)或可疑程序,这是识别合法占用与异常占用的关键环节。
1、在命令提示符中输入:tasklist | findstr "12345"(将 12345 替换为上一步查得的实际 PID)。
2、输出结果中将显示该 PID 对应的 映像名称(如 node.exe、mysqld.exe)、会话名及内存使用等信息。
3、若输出为空,说明该 PID 进程已退出但端口状态尚未刷新;可等待数秒后重查,或执行 netstat -ano 再次验证。
四、使用资源监视器图形化查看监听端口
资源监视器提供免命令、全字段可视化的界面,直接展示协议类型、完整进程路径、用户账户及网络吞吐量,适合不熟悉命令行或需交叉验证的用户快速确认端口归属。
1、同时按下 Win + R 键,输入 resmon 并回车,启动资源监视器。
2、点击顶部选项卡中的 网络。
3、向下滚动至 监听端口 区域,此处按端口号升序列出所有处于 LISTEN 状态的端口。
4、每行包含 端口、协议、进程、PID、路径、用户名 等完整信息,支持点击列标题排序或双击条目查看详情。
五、使用 PowerShell 查询指定端口的所属进程
PowerShell 提供面向对象的网络连接查询能力,Get-NetTCPConnection 可直接绑定端口与 OwningProcess 属性,省去手动查 PID 步骤,适合脚本集成或精确匹配场景。
1、右键点击“开始”按钮,选择 Windows PowerShell(管理员) 或 终端(管理员)。
2、输入命令:Get-NetTCPConnection -LocalPort 8080 | Select-Object -ExpandProperty OwningProcess(将 8080 替换为目标端口号)。
3、该命令将直接输出占用该端口的 PID(如 7890)。
4、接着输入:Get-Process -Id 7890(替换为实际 PID),返回结果中 ProcessName 字段即为占用端口的程序名称。










