如何在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博客
相关推荐
csdn_aspnet几秒前
如何从电脑主机拷东西到VWmare虚拟机
linux·运维·服务器·windows·vmware·虚拟机
Li Ming&11 小时前
Windows Server 2019 操作系统《保姆级安装教程》
windows·信息与通信
陈天伟教授13 小时前
Windows操作技巧 -03
windows
TechExplorer36514 小时前
Windows 隐藏导航窗格【主文件夹】、【图库】、【OneDrive】
windows·onedrive
我一定会有钱15 小时前
官网谷歌浏览器离线安装包一键下载
windows
易点云徐源17 小时前
(已解决)Foxmail打开后2分钟左右崩溃
windows·foxmail
其实防守也摸鱼18 小时前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞
江湖人称菠萝包19 小时前
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter6-动态链接库
windows·笔记
2601_9623649720 小时前
重装系统后,Windows Hello 为什么要重新录入人脸?
windows·安全·电脑
水饺编程21 小时前
第5章,[Win32 章节] :在平面直角坐标系中描点
c语言·c++·windows·visual studio