如何在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博客
相关推荐
?re?ta?rd?ed?12 小时前
C++11新特性,{}与左值
c++·windows
必须得开心呀15 小时前
windows10系统任务栏图标消失修复
windows
zl_dfq16 小时前
Windows 下 UDP 套接字编程指南
网络·windows·udp
学习论之费曼学习法16 小时前
无人值守AI内容矩阵实战(10):Windows 上让 Python 进程 7×24 活着
人工智能·windows·python·矩阵·powershell·进程守护
少年的范儿17 小时前
Windows 安装 MySQL 8.4 教程(ZIP 解压版):配置 my.ini、初始化数据库与启动服务
数据库·windows·mysql
胖纸不争18 小时前
EnergyStarZ:让 Windows 后台进程给前台让路的能效管理器(v1.2 发布)
windows·性能优化·c#·win32·ef core
2501_9159090619 小时前
Windows 上用 VS Code 调试 iPhone 真机 App,KXBuild 断点、崩溃定位实操
ide·windows·vscode·ios·iphone·个人开发·敏捷流程
情 九20 小时前
MCP 开发环境搭建:Mac 与 Windows 跑通 Python 服务和 stdio 客户端
windows·python·macos·mcp
懂点Tech1 天前
ctfshow misc28:GIF 高度修改解题与脚本实现
开发语言·windows·python
云梦谭1 天前
让 Linux 主动连接 Windows:配置 Windows 11 SSH 服务端
linux·windows·ssh