0%

windows端口占用

Windows 中查看端口占用并结束进程的方法

在开发或运维过程中,经常会遇到 “端口被占用” 的问题(如启动服务时提示 “Address already in use”)。以下是通过 CMD 命令行快速定位端口占用进程并结束它的完整步骤:

查看指定端口被哪个进程占用

  1. 打开 CMD 命令行
    按下Win + R,输入cmd,回车打开命令提示符(无需管理员权限)。

  2. 执行端口查询命令
    使用netstat命令结合findstr筛选目标端口,语法如下:

    1
    netstat -ano | findstr "端口号"
    • netstat -ano:列出所有网络连接(-a)、显示端口号(-n)、显示进程 ID(-o)。
    • findstr "端口号":从结果中筛选包含目标端口的记录。

    示例:查询 8990 端口的占用情况

    1
    netstat -ano | findstr "8990"
  3. 解析结果
    输出格式为:协议 本地地址:端口 外部地址 状态 进程ID(PID)
    例如:

    1
    TCP    127.0.0.1:8990         0.0.0.0:0              LISTENING       2700

    说明:8990 端口被进程 ID 为 2700的程序占用,状态为 “LISTENING”(监听中)。

根据进程 ID 查询进程名称

通过第一步获取的进程 ID(PID),可以进一步找到对应的程序名称:

  1. 执行进程查询命令
    使用tasklist命令结合findstr筛选进程 ID,语法如下:

    1
    tasklist | findstr "进程ID"

    示例:查询 PID 为 2700 的进程名称

    1
    tasklist | findstr "2700"
  2. 解析结果
    输出格式为:进程名称 PID 会话名 会话号 内存使用
    例如:

    1
    kxescore.exe                  2700 Services                   0     29,284 K

    说明:占用 8990 端口的进程是kxescore.exe(通常是金山毒霸的相关服务)。

结束占用端口的进程

找到进程后,可通过以下方式结束它:

方法 1:通过命令行强制结束(推荐)

  1. 以管理员身份打开 CMD(右键 CMD 图标,选择 “以管理员身份运行”)。

  2. 执行结束进程命令

    1
    taskkill /f /pid 进程ID
    • /f:强制结束进程(即使进程无响应)。
    • /pid:指定进程 ID。

    示例:结束 PID 为 2700 的进程

    1
    taskkill /f /pid 2700

    成功后会提示:成功: 已终止 PID 为 2700 的进程。

方法 2:通过任务管理器结束

  1. 打开任务管理器
    按下Ctrl + Shift + Esc,或右键任务栏选择 “任务管理器”。
  2. 切换到 “详细信息” 标签(Windows 10/11),找到对应 PID 或进程名称的条目。
  3. 右键选择 “结束任务” 即可。

常见问题解决

  • 提示 “无法终止进程”
    需以管理员身份运行 CMD,或在任务管理器中勾选 “显示所有用户的进程” 后重试。
  • 端口占用查询无结果
    可能端口未被占用,或目标端口使用的是 UDP 协议(可尝试netstat -ano -p udp | findstr "端口号")。
  • 快速定位多个端口
    可同时查询多个端口,例如:netstat -ano | findstr "8080 8990 3306"

1.查看当前端口被哪个进程占用了(进入到CMD中)

1
netstat -ano|findstr "8990"

输出结果为:
TCP 127.0.0.1:8990 0.0.0.0:0 LISTENING 2700
我们发现8990端口被2700进程占用了
2.基于进程号找进程名称

1
tasklist|findstr "2700"

输出结果为:
kxescore.exe 2700 Services 0 29,284 K

可以去任务管理器停止kxescore.exe应用

欢迎关注我的其它发布渠道

表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.3.10