在 Windows 系统中,查看端口被哪个进程占用,最常用且高效的方法是通过命令行(CMD)或 PowerShell 进行排查。以下是几种常用的方法:
方法一:使用 CMD 命令(最常用)
这是最基础的排查方式,分为"查端口对应的 PID"和"查 PID 对应的进程名"两步:
-
查找占用端口的 PID
按下
Win + R键打开运行窗口,输入cmd回车打开命令提示符。输入以下命令(将端口号替换为实际数字,如8080):cmdnetstat -ano | findstr :端口号说明:输出结果的最右侧数字即为该端口对应的 PID(进程标识符)。建议优先关注状态为
LISTENING的条目。 -
根据 PID 查找具体进程
获取到 PID 后,继续在 CMD 中输入以下命令(将
PID替换为实际数字):cmdtasklist | findstr "PID"说明:输出结果中的"映像名称"即为占用该端口的程序名称(如
java.exe、nginx.exe)。
方法二:使用 PowerShell 命令(更快捷)
如果你使用的是 Windows 10 或更高版本,PowerShell 可以直接一步到位查出端口对应的进程名和路径,无需手动转换 PID:
-
右键点击"开始"按钮,选择"Windows PowerShell(管理员)"。
-
输入以下命令并回车(以端口
80为例):powershellGet-NetTCPConnection -LocalPort 80 | ForEach-Object { Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue }说明:返回结果中的
ProcessName字段是程序名称,Path字段会显示该程序的完整安装路径。
方法三:使用图形化工具(无需记命令)
如果不习惯使用命令行,可以通过 Windows 自带的"资源监视器"直观查看:
- 按下
Ctrl + Shift + Esc打开任务管理器,切换到"性能"选项卡。 - 点击底部的"打开资源监视器"。
- 切换到"网络"选项卡,在"侦听端口"列表中直接查找目标端口号,即可看到对应的进程名称和完整路径。
💡 补充提示:
如果在查询时发现占用端口的 PID 为 4,这通常代表 System 进程。实际上往往不是系统本身占用了该端口,而是某个系统级别的服务(如 IIS、Hyper-V 等)在运行导致。