端口冲突说明18789被占用,需先查杀进程(Windows用netstat+taskkill,Linux/macOS用lsof+kill)或修改OpenClaw端口(命令行--port或配置文件永久更改),再重启服务。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw启动时报“EADDRINUSE”或提示端口18789已被占用,说明当前系统中已有进程正在监听该端口,导致OpenClaw无法绑定——这通常发生在重复启动、异常退出残留进程,或被其他Node.js服务、代理工具、旧版Cladbot等意外抢占时。
立刻释放18789端口(Windows)
第一步:在PowerShell(无需管理员权限即可执行)中运行命令查占用进程:
netstat -ano | findstr :18789
第二步:从输出末尾提取PID(例如TCP 0.0.0.0:18789 0.0.0.0:0 LISTENING 【12345】),该数字即为进程ID。
第三步:强制终止该进程:
taskkill /F /PID 12345
第四步:验证是否释放成功——再次执行netstat -ano | findstr :18789,若无任何输出,说明端口已空闲。此时可直接运行openclaw start重新启动。
Linux/macOS下快速杀掉占用进程
方法一:使用lsof(推荐)
lsof -i :18789 → 查看PID → kill -9
PC控制工具,远程操控Windows主机,实现截屏、键鼠、文件、进程、浏览器自动化及Shell命令等操作。触发词:控制电脑、操作PC、截图、键盘、鼠标、文件管理、浏览器。
方法二:用ss + kill组合(当lsof未安装时)
sudo ss -tuln | grep ':18789' → 提取PID列数字 → sudo kill -9
注意:如果提示bash: lsof: command not found,先运行sudo apt-get install -y lsof(Debian/Ubuntu)或sudo yum install -y lsof(CentOS/RHEL)。
不关别人程序,让OpenClaw换端口运行
方法1:命令行临时指定(最轻量,重启后失效)
openclaw gateway --port 18790
方法2:修改配置文件(永久生效)
编辑~/.openclaw/openclaw.json → 找到"gateway": { "port": 18789 } → 将18789改为【18790或更高未被占用的端口】 → 保存 → openclaw gateway restart
方法3:用openclaw自带命令优雅停服再启动
openclaw gateway stop → 确认无残留 → openclaw gateway --port 18790

















