You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node应用启动报EADDRINUSE端口5000被占用,杀进程后仍重复占用如何解决

解决方案

第一步:确认占用5000端口的进程归属

执行以下命令查看端口占用进程的详细信息:

# Mac/Linux通用
sudo lsof -i :5000

查看输出结果的COMMAND列,确认进程名称。


第二步:对应场景解决

场景1:进程名称为ControlCenter(Mac系统专属高频问题)

这是Mac系统自带的AirPlay接收器默认占用了5000、7000端口,杀进程会自动重启,属于系统级服务:

  • 打开「系统设置」→「通用」→「隔空投送与接力」
  • 关闭「AirPlay接收器」开关即可释放端口

场景2:进程为你的Node/React应用进程

你仓库同时包含Node后端和React前端代码,大概率是端口配置冲突:

  • 检查根目录Node应用的package.json启动脚本、代码中监听端口的配置
  • 检查client文件夹下React应用的package.json启动配置,React默认启动端口为3000,如果被修改为5000就会和后端抢端口,改回3000或者其他未占用端口即可
  • 也可以直接修改Node应用的监听端口为5001等未被占用的端口,避免冲突

场景3:其他系统服务占用

如果是其他系统级服务占用端口,不要直接杀进程,系统服务被杀后会自动重启:

  • 先确认服务用途,如果不需要该服务,直接禁用服务自启后再停止服务即可释放端口
  • 如果需要保留该服务,修改对应服务的监听端口,或者修改你的Node应用的监听端口即可

注意:PID 1是系统的初始化核心进程,禁止执行kill操作,会直接导致系统崩溃重启

内容的提问来源于stack exchange,提问作者Sahil Goyal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:15:01