可通过netstat命令定位端口占用:先用netstat -ano查看所有端口及PID,再用findstr筛选指定端口,接着用tasklist查PID对应进程,或通过任务管理器图形化查看,PowerShell还可直接获取进程名。

如果您在Windows系统中需要确认某个端口是否已被占用,或想查明是哪个程序正在使用特定端口,则可通过系统内置的netstat命令进行快速定位。以下是具体操作步骤:
一、查看所有端口占用情况
该方法用于获取当前系统中全部监听与已建立连接的端口列表,便于全局排查是否存在异常或冲突端口。
1、按下Win + R组合键,输入cmd并回车,打开命令提示符窗口。
2、在命令提示符中输入以下命令并回车:
netstat -ano
3、观察输出结果中的“本地地址”列(含IP和端口号)及最后一列“PID”,记录目标端口对应的PID值。
二、筛选指定端口的占用信息
当已知需检查的具体端口号(如8080、3306等)时,可直接过滤输出,避免人工扫描大量数据。
1、在命令提示符中输入以下命令(以端口8080为例):
netstat -ano | findstr ":8080"
2、若返回结果非空,则说明该端口已被占用,末尾数字即为占用进程的PID。
3、若无任何输出,则表示该端口当前未被任何进程监听或连接。
三、根据PID查找对应进程名称
获得PID后,需进一步识别其所属程序,以便判断是否可安全终止或调整配置。
1、在命令提示符中输入以下命令(以PID 1234为例):
tasklist | findstr "1234"
2、查看返回结果中的“映像名称”字段,例如java.exe或nginx.exe。
3、若任务管理器中未显示PID列,可右键进程列表标题栏 → 勾选PID以启用显示。
四、通过任务管理器图形化查看端口占用
对于不熟悉命令行的用户,Windows任务管理器提供可视化方式定位端口占用进程。
1、按下Ctrl + Shift + Esc快捷键直接打开任务管理器。
2、切换至详细信息选项卡,右键表头 → 勾选PID确保该列可见。
3、在“PID”列中查找与netstat输出一致的数值,对应行的“映像名称”即为占用端口的程序。
4、右键该进程 → 选择转到服务,可进一步查看关联的后台服务。
五、使用PowerShell替代方案
PowerShell提供更结构化的网络连接查询能力,支持直接输出进程名而无需二次匹配PID。
1、以管理员身份运行PowerShell(右键开始菜单 → Windows PowerShell(管理员))。
2、输入以下命令(以端口443为例):
Get-NetTCPConnection -LocalPort 443 | ForEach-Object {Get-Process -Id $_.OwningProcess} | Select-Object ProcessName,Id
3、结果将直接列出进程名称与PID,省略手动交叉比对步骤。










