SuperAPI AI 工具集

detecting-port-conflicts

部署与运维

查看项目

更新于 10-16 02:28

技能介绍

用途:当开发服务器因端口已被占用而启动失败时,帮助诊断并解决端口冲突。

主要能力:从终端输出中识别端口占用报错模式,包括 EADDRINUSE、address already in use、Port XXXX is already in use、bind: address already in use、OSError: [Errno 98] Address already in use,并从报错信息中提取端口号。随后用 lsof -i :<PORT> -P -n 查看占用端口的 PID、进程名和用户,常见占用来源包括未正常关闭的旧开发服务器、其他项目的开发服务器、Docker 容器或系统服务。

解决方式有三种:一是结束阻塞进程,先 kill <PID>,若无效则 kill -9 <PID>,之后重启原服务器;二是换用其他端口,先检查下一端口是否空闲,再更新启动配置或命令,如 Next.js 用 next dev -p <PORT>、Vite 用 vite --port <PORT>、Express 通过 PORT 环境变量设置、Django 用 python manage.py runserver <PORT>;三是结束所有 node 进程(killall node),此方式会终止全部相关进程,仅在用户确认后建议使用。

注意事项:macOS 上低于 1024 的端口需要 root 权限;Docker 容器即使已停止也可能保留端口绑定,可检查 docker ps;若 lsof 无输出,端口可能处于 TIME_WAIT 状态,可等待约 30 秒或改用其他端口。

限制:资料未提供更多平台适配、自动化脚本或图形界面支持的说明。