如何在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博客
相关推荐
FL16238631295 小时前
Halcon26.05下载安装教程
windows
ly76895 小时前
Windows 操作系统详解:从系统架构、文件管理到安全与运维
windows·安全·系统架构
2601_962364975 小时前
踩坑提醒!带摄像头≠支持 Windows Hello 人脸解锁
windows
码农爱学习7 小时前
ClaudeCode搭配DeepSeek在Windows和Linux中的安装教程
linux·运维·windows
WA内核拾荒者1 天前
WhatsApp账号运营SOP的可视化编排与流水线监控
大数据·数据库·windows
Java小白笔记1 天前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
IT小盘1 天前
17-AI应用防止越权访问知识库
服务器·网络·windows
rust&python1 天前
通达信量化tdxquant快速开始第一个策略
windows·量化·通达信·tdxquant
Albart5751 天前
Windows快速访问幽灵文件夹彻底解决|清除tmp残留_无效固定项_侧边栏残留(Win10_Win11通用)
windows·powershell脚本·快速访问修复·幽灵文件夹清理·tmp垃圾清除·电脑系统优化