在日常开发或运维中,端口被占用是一个非常常见但又让人头疼的问题:服务启动不了、前端起不来、本地调试端口冲突等,大多都与端口占用有关。

下面整理几种在 Windows 11 中查看端口占用的常用方法,既包含命令行,也包含图形化工具,可根据实际使用习惯选择合适的方式。


1. 使用命令行查看端口(推荐)

命令行是相对快速且灵活的方式,适合精准排查某个端口是否被占用,以及对应的进程信息。

1.1 查看所有端口占用情况

打开 命令提示符(CMD)Windows 终端,输入:

netstat -ano

参数说明:

  • -a:显示所有连接和监听端口。
  • -n:以数字形式显示地址和端口号(不进行域名解析,速度更快)。
  • -o:显示占用该端口的进程 ID(PID)。

执行后,输出中会出现类似如下的列表:

  • 本地地址(Local Address)
  • 外部地址(Foreign Address)
  • 状态(State)
  • PID(最后一列)

1.2 查找特定端口(以 8080 为例)

在只关心某个端口(比如 8080)时,可以结合 findstr 进行筛选:

netstat -ano | findstr :8080

执行后,如果该端口被占用,你会看到匹配的行,最后一列的数字就是占用该端口的 PID

1.3 根据 PID 查找对应进程

拿到 PID 之后,可以反查具体是哪个程序占用了端口。在命令行中输入:

tasklist | findstr "PID号"

例如 PID 为 1234 时,可以这样查询:

tasklist | findstr "1234"

返回结果中会显示对应的可执行程序名称,比如 node.exejava.exe 等。根据实际需求,可以结束相关进程,或在对应程序中调整端口配置。


2. 使用资源监视器(图形化界面)

在不熟悉命令行,或者需要一次性 更直观地查看所有端口状态 时,可以使用系统内置的 资源监视器

操作步骤:

  1. 按下 Win + R,输入 resmon 并回车。
  2. 在打开的窗口中,点击顶部的 “网络” 选项卡。
  3. 在下方找到 “监听端口” 区域,点击右侧的小箭头展开列表。
  4. 列表中会显示所有正在监听的端口号、协议以及对应的进程名称和 PID。
  5. 可以点击 “端口” 列进行排序,以便快速找到目标端口。

这种方式适合通过图形界面查看整体端口占用情况,也方便与进程名称一一对应。


3. 使用任务管理器

任务管理器 也提供了查看端口的能力,不过信息相对基础,适合作为一个顺手的补充手段。

操作步骤:

  1. Ctrl + Shift + Esc 打开任务管理器。
  2. 切换到 “详细信息” 选项卡。
  3. 在列标题上右键点击,选择 “选择列”
  4. 在弹出的窗口中勾选 “端口”“协议”,点击确定。
  5. 此时列表中会显示每个进程占用的端口号和协议信息。

在日常已经习惯常驻任务管理器的场景下,这种方式也可以用来快速查看端口占用情况。


4. 使用第三方工具

在有 更强的可视化和管理需求 时,例如:

  • 需要实时监控连接状态;
  • 希望更便捷地结束某些连接或进程;
  • 想要支持过滤、搜索、导出列表等高级功能;

可以考虑使用一些常见的第三方工具,例如:

  • TCPView(微软 Sysinternals 套件中的工具);
  • CurrPorts 等端口查看工具。

这些工具通常提供更丰富的过滤、排序和操作能力,相比系统自带工具更加灵活。


5. 小结:日常怎么查最省事?

  • 日常排查单个端口是否被占用
    推荐直接在命令行使用:

    netstat -ano | findstr :端口号
    

    搭配:

    tasklist | findstr "PID"
    

    简单高效,适合开发过程中快速定位问题。

  • 需要直观查看所有端口状态
    建议使用 资源监视器(resmon,图形化界面一目了然,适合做整体观察。

整体来说:命令行排查问题最快,资源监视器适合全局视图,第三方工具适合重度使用和高级需求。根据具体场景选择合适的方法,即可在 Windows 11 环境下相对从容地处理各种端口占用问题。