首先使用netstat -ano命令查询端口占用情况,记下PID后通过tasklist | findstr "[PID]"查找进程名称;或使用PowerShell执行Get-NetTCPConnection -LocalPort [PortNumber]获取PID,再用Get-Process -Id [PID]查看进程名;也可通过任务管理器打开资源监视器,在网络选项卡的TCP连接中直接查看端口对应的进程名称。

如果您在启动应用程序时遇到“端口已被占用”的错误,或者需要确认某个网络服务正在使用哪个端口号,可以通过系统工具来查询具体的端口占用情况。以下是解决此问题的步骤:
本文运行环境:Dell XPS 13,Windows 10。
一、使用命令提示符(CMD)查询
通过 Windows 内置的 netstat 命令可以列出所有活动的网络连接和监听端口,并显示对应的进程ID (PID)。
1、按下 Win + R 组合键打开“运行”对话框,输入 cmd,然后按回车键以打开命令提示符窗口。
2、在命令提示符中输入以下命令并按回车,查看所有活动的网络连接和监听端口:
netstat -ano
3、在返回的列表中,找到“本地地址”一栏,冒号(:)后面跟随的数字即为端口号。记下您要查询的端口号所在行末尾的 PID 数值。
4、接着输入以下命令来查找该 PID 对应的进程名称,将 [PID] 替换为实际的数字:
tasklist | findstr "[PID]"
5、命令执行后返回的结果第一列即为占用该端口的进程名称。
二、使用 PowerShell 查询
PowerShell 提供了更强大的 cmdlet,可以直接关联端口与进程信息,操作更为直接。
1、右键点击“开始”按钮,选择“Windows PowerShell(管理员)”以管理员身份运行。
2、在 PowerShell 窗口中输入以下命令,并将 [PortNumber] 替换为您要检查的端口号(例如80或3306):
Get-NetTCPConnection -LocalPort [PortNumber] | Select-Object -ExpandProperty OwningProcess
3、该命令会直接输出占用该端口的进程 ID (PID)。随后输入以下命令,将 [PID] 替换为上一步得到的数值,以获取完整的进程信息:
Get-Process -Id [PID]
4、返回结果中的 ProcessName 字段即为占用端口的程序名称。
三、通过资源监视器图形化查看
资源监视器提供了直观的图形界面来监控网络活动,无需记忆命令即可查看端口占用情况。
1、按下 Ctrl + Shift + Esc 组合键打开任务管理器。
2、切换到“性能”选项卡,然后点击底部的“打开资源监视器”链接。
3、在打开的“资源监视器”窗口中,切换到“网络”选项卡。
4、在“TCP 连接”部分,查看“本地地址”和“端口”列,找到您关心的端口号,其对应的“进程”列将直接显示占用该端口的程序名称。











