如何在Win11系统中找到是哪个程序占用了指定端口

诸神缄默不语-个人技术博文与视频目录

我遇见的实际场景是,我想部署一个服务,但是发现我要用的端口已经被占用了,所以我想要方便地查看到底是哪个应用在监听这个端口,然后再关停它们。

方法一:资源监视器

在左下角的搜索页面中直接搜索"资源监视器"后打开

找到网络 - 侦听端口:

在这里就能找到在监听指定端口的应用,如在这里node.exe监听3000和5173端口。

方法二:用PowerShell的Get-NetTCPConnection命令

使用快捷键Win + X,打开终端(管理员):

执行命令:

powershell 复制代码
Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess

(此处的3000换成你实际需要的参数)

输出效果:

这一步事实上是两步命令合并:

  1. 获取端口连接信息,得到OwningProcess(PID)
    Get-NetTCPConnection -LocalPort 3000(需要注意,如果你想执行这一步,需要先把窗口最大化,否则PowerShell会直接不显示OwningProcess这一列)(Windows有的时候就是会有这些弱智bug,这是feature)
    输出效果:
  2. 根据PID查看进程
    Get-Process -Id 25036
    得到结果:

方法三:在终端中用netstat

第一步: 找监听3000端口的PID 可以在cmd或者powershell中执行:

bash 复制代码
netstat -ano | findstr :3000

-ano:

  • -a:all,显示所有连接和监听端口
  • -n:numeric(数字的),以数字形式显示地址和端口号
  • -o:owners,显示拥有每个网络连接的进程id。

获得PID:

这里LISTENING的第一条和第三条的最后一列25036就是在监听3000端口的应用的PID。

中间ESTABLISHED是本机访问远程的3000端口。左边的马赛克是我的IP地址,右边的是对方的IP地址。

第二步: 找PID对应的进程 继续执行:

bash 复制代码
tasklist | findstr 25036

就可以看到是哪个应用了:

本文撰写过程中参考的网络资料:

  1. win11环境下 如何在任务管理器中查找对应端口号的pid_win11 pid-CSDN博客
相关推荐
YCOSA20255 小时前
Windows11_InsiderPreview_EnterpriseVL_x64_zh-cn_29680_1000.iso 官方直链
windows
怎么没有名字注册了啊7 小时前
Windows Server 2008 R2 如何开启Aero
windows
lingchen19068 小时前
Windows CMD 的 `cd`(change directory,切换目录)命令
windows·命令模式
ITHAOGE1510 小时前
下载 | Win11 26H2 正式版发布!(ISO映像、2026年度版本、26300.9457、Windows 11)
windows·科技·微软·电脑
YCOSA202511 小时前
雨晨 Windows 11 IoT 企业版 Edge 轻装 VCDX 29680.1000
windows·物联网
笨笨努力中12 小时前
2002年Windows XP系统下载视频资源迁移云盘
windows
l1t13 小时前
修复WSL CreateInstance/E_UNEXPECTED和 mounted read-only 错误
linux·windows·wsl
kakakahahahaha14 小时前
Windows电脑卡死恢复流程:任务管理器、Ctrl Alt Delete、explorer与DWM重启
windows·电脑·笔记本电脑·软件需求·电脑卡死
kakakahahahaha14 小时前
Windows鼠标失灵排查:Ctrl Alt Delete、Mouse Keys、USB控制器与驱动修复
windows·驱动开发·电脑·笔记本电脑·软件需求
Vex2une15 小时前
Windows 资源监视器发展史:从任务管理器附件到系统级诊断利器
windows·系统监控·任务管理器·诊断工具·etw·resmon·资源监视器