471 字
1 分钟
Windows 开发报 EADDRINUSE:先查端口占用进程
Windows 开发报 EADDRINUSE:先查端口占用进程
Node 服务启动时报 EADDRINUSE,Java 报 Address already in use,通常表示程序想监听的端口已被其他进程占用。直接反复重启往往没有帮助;先确认是哪一个进程在监听,才知道该停服务还是换端口。
假设报错端口是 3000,PowerShell 可以这样查:
Get-NetTCPConnection -LocalPort 3000 -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess记下 OwningProcess,再查看对应程序:
Get-Process -Id 1234把 1234 替换为实际 PID。也可以先用 netstat -ano | findstr :3000 找监听记录,再用 tasklist /FI "PID eq 1234" 核对进程名。
确认它是不是该停止的进程
常见占用者是上一次没有退出的开发服务器、另一个项目、容器映射出来的端口,或本机数据库。先检查终端窗口、IDE 运行面板以及 docker ps。如果它是另一个正在使用的服务,正确做法可能是停止你刚启动的重复实例,或把当前项目改到另一个端口。
确认 PID 对应的是自己启动、可以停止的进程后,再正常结束它。不要看到一个数字就直接强制杀进程;PID 可能属于系统服务或其他正在工作的程序。
还要区分 IPv4 / IPv6 监听、TCP / UDP 和端口映射。相同数字的端口不总是同一条冲突;应以程序完整报错和监听记录为准。容器场景下也要检查宿主机发布端口是否已被另一个容器占用。
如果端口经常冲突,给开发服务配置可覆盖的端口变量,并在启动脚本里打印实际监听地址。这样比每次遇到问题都去“清理所有 node.exe”安全得多,也更容易复现。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Windows 开发报 EADDRINUSE:先查端口占用进程
https://blog.zpooi.com/posts/windows-port-eaddrinuse/ 部分信息可能已经过时
相关文章 智能推荐
1
npm 报 ERESOLVE unable to resolve dependency tree:先查 peerDependencies
开发排错 遇到 npm ERESOLVE 时,先核对 Node、npm 与依赖版本,再决定是否调整依赖,不要一上来强行安装。
2
Java 报 invalid target release:检查 Maven 真正使用的 JDK
开发排错 IDE 里 Java 版本看起来正确,命令行仍可能使用另一套 JDK;用 java -version 和 mvn -v 对照定位。
3
Claude Code 报认证失败:先区分官方登录、API Key 和自定义网关
AI 工具 Claude Code 遇到 401、403 或认证错误时,辨别登录方式与环境变量覆盖关系,避免泄露密钥或盲目重装。
4
Claude Code 配了 MCP 却看不到工具:检查配置作用域和启动命令
AI 工具 MCP 服务未出现在 Claude Code 中时,按配置文件位置、JSON 格式、命令可执行性和启动日志逐项定位。
5
把整句拼音交给 LLM:输入法体验要同时衡量上下文和延迟
工具观察 一个 Windows 开源输入法用 LLM 将整句拼音转成中文;整理适用场景、延迟预期和隐私要求。






