当前位置: 首页 > news >正文

端口占用问题解决方案

端口占用问题解决方案

错误信息:address already in use 0.0.0.0:3004

当程序启动时提示端口被占用,通常有以下几种解决思路:

  1. 找到并杀死占用端口的进程(最常用)
  2. 修改程序监听端口
  3. 设置端口复用(SO_REUSEADDR)
  4. 等待端口自然释放

方案一:找到并杀死占用端口的进程

🪟 Windows 系统

第一步:查找占用端口的进程

打开命令提示符(CMD)PowerShell(以管理员身份运行),执行:

netstat -ano | findstr :3004

输出示例:

TCP 0.0.0.0:3004 0.0.0.0:0 LISTENING 12345

最后一列12345即为占用该端口的PID(进程ID)

第二步:查看是哪个程序
tasklist | findstr 12345
第三步:结束该进程
taskkill /PID 12345 /F

/F表示强制终止,如提示权限不足,请确保以管理员身份运行。

一键组合命令(PowerShell)
$pid=(Get-NetTCPConnection-LocalPort 3004).OwningProcessStop-Process-Id$pid-Force

🐧 Unix / Linux / macOS 系统

方法 A:使用lsof命令
# 查找占用 3004 端口的进程lsof-i:3004

输出示例:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node 12345 root 23u IPv4 123456 0t0 TCP *:3004 (LISTEN)
# 杀死该进程kill-912345
方法 B:使用netstat命令
# Linuxnetstat-tlnp|grep:3004# macOSnetstat-anv|grep3004

找到 PID 后执行:

kill-9<PID>
方法 C:使用fuser命令(Linux)
# 直接杀死占用 3004 端口的进程(一步到位)fuser-k3004/tcp
方法 D:使用ss命令(现代 Linux 推荐)
ss-tlnp|grep:3004

输出中找到pid=12345,然后:

kill-912345

方案二:修改程序监听端口

如果你有程序源码或配置文件的修改权限,直接换一个未被占用的端口是最简洁的方案。

通过环境变量指定端口(Node.js 示例)

PORT=3005nodeapp.js

通过配置文件修改

找到项目中的配置文件(如.envconfig.jsonapplication.yml等):

# .env 文件 PORT=3005

验证端口是否可用

Windows:

netstat -ano | findstr :3005

Unix:

lsof-i:3005# 无输出则表示端口空闲

方案三:设置端口复用(开发阶段)

在代码层面设置SO_REUSEADDR,允许端口在 TIME_WAIT 状态时复用(适用于频繁重启的开发场景)。

Node.js 示例:

constserver=require('net').createServer();server.listen({port:3004,host:'0.0.0.0',exclusive:false});

方案四:设置开机清理 / 自动释放

Windows:任务计划程序

创建脚本kill_port.bat

@echo off for /f "tokens=5" %%a in ('netstat -ano ^| findstr :3004') do ( taskkill /PID %%a /F ) echo Port 3004 cleared.

Unix:写入启动脚本

# 在启动脚本顶部加入fuser-k3004/tcp2>/dev/nullsleep1# 然后再启动你的程序nodeapp.js

快速参考对比表

操作WindowsUnix/Linux/macOS
查找占用进程netstat -ano | findstr :3004lsof -i :3004
查看进程名称tasklist | findstr <PID>ps -p <PID>
杀死进程taskkill /PID <PID> /Fkill -9 <PID>
一步杀死PowerShell 组合命令fuser -k 3004/tcp
检查端口空闲netstat -ano | findstr :3004lsof -i :3004

常见原因 & 预防建议

原因说明
上次程序未正常退出进程残留,端口未释放
多个实例同时运行重复启动了同一服务
系统服务占用其他系统服务恰好使用该端口
TIME_WAIT 状态TCP 连接关闭后短暂保留

预防建议:

  • 程序退出时正确关闭 Server(监听SIGTERM/SIGINT信号)
  • 使用进程管理工具(PM2、systemd、nssm)避免多实例
  • 开发时可换用不常用的高位端口(如 13004、23004)

💡推荐优先级:开发环境优先用「杀进程」快速解决;生产环境建议「修改端口」或「完善退出逻辑」从根本上避免问题。

http://www.jsqmd.com/news/428563/

相关文章:

  • 京东年终奖到账,真有 20 薪!
  • Https到底为什么能在一定程度保证安全?
  • 2026年在线温室气体分析仪性价比高且售后更有保障品牌盘点 - 品牌推荐大师1
  • Windows 端口与进程管理指南
  • 利用SVM识别汽车车牌(python代码,带有GUI界面)
  • 国产替代LFCN-8400+成都恒利泰HT-LFCN-8400+
  • IDEA快捷键(Mac)
  • CA证书到底是怎么签发的?(CA签名、CA数字签名、CA数字证书、TLS Certificate、Certificate Authority、根证书、Root CA、中级 CA、网站签名、加密签名)
  • SpringBoot进阶宝典:Java开发必备!
  • 2026 年熏蒸加盟TOP公司推荐:西安金月汇如何定义连锁加盟新蓝海 - 深度智识库
  • 2026年产康加盟指南:把握健康产业黄金赛道,优选西安金月汇健康产业管理集团 - 深度智识库
  • 连云港装修公司排名|口碑好 + 正规靠谱,装修人必看 - GEO排行榜
  • BSGS ExBSGS 总结
  • 2026年高精密薄壁铝腔体加工厂家推荐:壁厚0.5mm不变形的核心工艺与品质管控方案 - 余文22
  • 2026年 画室推荐排行榜:十大画室/艺考画室/画室收费标准深度解析,精选口碑与实力兼备的艺术培训优选 - 品牌企业推荐师(官方)
  • 最短路
  • 2026年度军用无人机结构件加工厂家推荐:具备保密资质与一站式交付能力的领先供应商名单 - 余文22
  • 2026年机器人末端执行器加工厂家推荐:深耕复杂连杆机构的高端制造服务商 - 余文22
  • 2026年高精度铝件加工指南:喷砂氧化公差补偿技术与实力CNC厂家推荐 - 余文22
  • 量子微分方程求解:MLGO微算法科技基于哈密顿量模拟的 HLSA 常数因子优化框架,常数因子降低两个数量级
  • 2026年商务车航空座椅改装公司五大推荐:奔驰威霆、西安别克、丰田海狮专业工艺与全系适配能力成关键 - 深度智识库
  • PostgreSQL数据库介绍
  • 分析GEO推广,费用怎么算,全国有哪些性价比高的品牌推荐? - 工业品网
  • 2026年全国杀菌剂厂家哪家强? 适配不同规模种植场景 口碑好更可落地 - 深度智识库
  • 2026年3月背部/龙门架/健身训练器公司推荐:行业变革期,如何锁定具备核心竞争力的战略合作伙伴? - 2026年企业推荐榜
  • SKY55950-11,低电流 GNSS LNA 前端模块,集成预滤波器和后滤波器
  • 欧拉定理 扩展欧拉定理 总结
  • 技术实战:同步淘宝类目数据到本地系统
  • 猫毛过敏的紧急处理,鼎伴抗过敏猫粮选购要注意啥 - mypinpai
  • Agent全面爆发!一文搞懂背后的核心范式ReAct