news 2026/9/28 4:15:51

如何关闭端口被占用的进程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何关闭端口被占用的进程

文章目录

    • 👉 作者:辣椒 📌 个人网站|项目资源|技术分享 👉 点击访问 [https://qiyex.com](https://qiyex.com)
    • 背景
    • 操作步骤
      • 一、打开命令提示符(Command Prompt)
      • 二、查看占用端口的进程
      • 三、kill 杀死占用端口的进程
    • 完整操作流程示例
    • 常见问题
    • 命令速查表
    • 附:Linux / macOS 下的做法
  • 总结

👉 作者:辣椒
📌 个人网站|项目资源|技术分享
👉 点击访问https://qiyex.com

背景

在 Windows 上启动本地服务(Tomcat、Node、Python 后端、Maven 项目等)时,经常会遇到"端口已被占用"(Address already in use/Port 8080 was already in use)的报错。原因通常是上一次运行的程序没有完全退出,或者其它软件抢先占用了该端口。

解决的思路只有三步:查出是谁占了端口 → 拿到它的 PID → 干掉这个进程。


操作步骤

一、打开命令提示符(Command Prompt)

按下快捷键Win+R,弹出"运行"窗口,输入cmd,回车,即可打开命令提示符窗口。

如果当前账号权限不足、后续taskkill提示"拒绝访问",可以改用管理员身份运行:在开始菜单搜索cmd,右键选择"以管理员身份运行"。

二、查看占用端口的进程

命令语法:

netstat-ano|findstr 端口号

参数含义:

参数作用
-a显示所有连接和监听端口
-n以数字形式显示地址和端口(不做域名解析,速度更快)
-o显示每个连接对应的进程 PID
findstrWindows 下的文本过滤命令,用于筛选出目标端口所在的行

示例:查看 8088 端口的占用情况

netstat-ano|findstr 8088

输出结果类似:

TCP 0.0.0.0:8088 0.0.0.0:0 LISTENING 8812 TCP [::]:8088 [::]:0 LISTENING 8812

各列从左到右依次为:协议、本地地址、外部地址、连接状态、PID。最右侧一列的数字(示例中为8812)就是占用该端口的进程号,记下它。

也可以加上LISTENING只筛选处于监听状态的记录,避免输出过多:

netstat-ano|findstr 8088|findstr LISTENING

补充:如果已知进程名想反查端口,可以用tasklist | findstr 进程名查看该进程的 PID。

三、kill 杀死占用端口的进程

拿到 PID 后,用taskkill结束它。

普通结束(语法):

taskkill/pid 进程PID

示例:

taskkill/pid 8812

如果要连带结束该进程启动的子进程,加上/T:

taskkill/T/pid 8812

强制结束(语法):

taskkill/F/PID 进程PID

示例:

taskkill/F/PID 8812

参数含义:

参数作用
/pid指定要结束的进程 PID
/F强制结束(Force),适用于普通方式杀不掉的情况
/T同时结束该进程及其启动的子进程

执行成功后会出现提示:

成功: 已终止 PID 为 8812 的进程。

此时再执行一次netstat -ano | findstr 8088,如果没有输出,说明端口已经被释放。


完整操作流程示例

假设启动服务时报错Port 8088 was already in use:

# 1. 查询 8088 端口被谁占用netstat-ano|findstr 8088# 输出末列 PID:8812# 2. 结束该进程taskkill/F/PID 8812# 3. 验证端口是否已释放(无输出即成功)netstat-ano|findstr 8088

常见问题

1. 提示"拒绝访问"或"无法终止进程"
说明该进程权限较高(如系统服务)。请以管理员身份重新打开 cmd,再执行taskkill。

2. 只想通过进程名杀掉,不想查 PID
可以直接按映像名称匹配:

taskkill/F/IM java.exe

其中/IM后面跟进程的映像名称(可用tasklist查看完整名称)。

3. 是系统进程(如 PID 4、svchost.exe)占用端口怎么办
不要盲目强杀,可能导致系统异常。应先确认是哪个服务在监听:netstat -abno | findstr 端口号会显示进程名,或在"任务管理器 → 详细信息"中根据 PID 定位,再决定是停服务还是换端口。

4. 端口占用反复出现
通常是某个服务被设置为开机自启或自动重启。可以在"服务"(services.msc)里找到对应服务,改为手动启动,或直接更换项目的监听端口。


命令速查表

场景命令
查询端口占用及 PIDnetstat -ano | findstr 端口号
仅看监听状态netstat -ano | findstr 端口号 | findstr LISTENING
按 PID 结束进程taskkill /pid PID
强制结束进程taskkill /F /PID PID
结束进程及其子进程taskkill /T /PID PID
按进程名结束taskkill /F /IM 进程名.exe
查看进程列表tasklist | findstr 进程名

附:Linux / macOS 下的做法

如果你在 Linux 或 macOS 上遇到同样的问题,对应的命令如下:

# 查看占用端口的进程lsof-i:8088# 或netstat-tunlp|grep8088# 结束该进程kill-9<PID># 或一步到位kill-9$(lsof-t-i:8088)

总结

@作者:加辣椒了吗?
简介:憨批大学生一枚,喜欢在博客上记录自己的学习心得,也希望能够帮助到你们!
个人网站:https://qiyex.com
我在 gon zhon hao「辣椒微创」有更详细的案例和工具,你应该用得上!
🚀 【创业项目】:副业灵感、轻资产玩法、互联网创收思路
📦 【资源分享】:PPT、音效、模板、字体、插件等创作者工具合集
🔧 【软件下载】:精选高效、靠谱的生产力工具及安装指南
💻 【编程开发】:编程学习资源、项目源码、开发工具、实战案例
🛒 【薅羊毛】:精选各种优惠折扣、平台补贴信息,帮你省钱放大收益。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 4:15:06

Manus 技术栈与 LangChain 关系:用 TaoToken 统一 Key 打通 Agent 配置链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/28 4:14:27

中兴B860AV3.2T刷机教程:晶晨S905L3B芯片玩机全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华