根本原因诊断
原因 1:端口已被占用(
最常见,概率 >90%)
端口 1234 已被另一个进程占用。常见占用 1234 端口的程序包括:
-
同程序重复启动(已有一个实例在运行)
-
VNC 服务(某些实现默认使用 1234)
-
其他 HTTP 服务 / 爬虫 / 开发服务器
-
部分流媒体或游戏应用
原因 2:权限问题(
本场景可排除)
端口 <1024 需要 root/admin 权限。1234 > 1024,所以非 root 用户理论上可以绑定,权限问题极不可能是主因。
原因 3:IPv6/IPv4 双栈冲突
某些系统中,如果 IPv6 的 :: 已经绑定了端口 1234,再将 IPv4 的 0.0.0.0 绑定到同一端口会失败。
原因 4:防火墙 / 安全软件 拦截
安全策略阻止程序绑定指定端口(在 Windows / macOS 上相对少见,但可能)。
解决步骤(按优先级排列)
首先排除这个再往下继续
第 1 步:查端口占用
确认哪个进程占用了 1234 端口
# Linux / macOS
lsof -i :1234
sudo ss -tlnp | grep 1234
# Windows
netstat -ano | findstr :1234
第 2 步:终止占用进程
根据上一步获取的 PID 结束进程
# Linux / macOS
kill -9 <PID>
# Windows
taskkill /F /PID <PID>
第 3 步:改端口 / 重启
释放端口后重试,或直接换端口
# 换个端口(如 8080)
--port 8080
# 或修改配置文件中的端口
第 4 步:排查其他问题
如果前 3 步无效,检查以下项目(此场景基本可忽略)
-
尝试
127.0.0.1:1234代替0.0.0.0 -
检查程序是否重复启动
-
暂时关闭防火墙测试
-
重启系统