OpenClaw龙虾老掉线?一招教你彻底解决Gateway进程崩溃

OpenClaw龙虾老掉线?一招教你彻底解决Gateway进程崩溃
你是不是也遇到过这种情况:OpenClaw明明跑得好好的,突然就收不到消息了。打开终端一看——Gateway进程悄悄挂了。
这不是你操作的问题,也不是OpenClaw本身有bug。这是macOS上LaunchAgent的"睡眠后不自动恢复"机制导致的。
今天教你用一行命令彻底解决这个问题。
症状:你的龙虾是不是这样
-
早上出门前还正常,中午发消息没反应
-
OpenClaw进程在,但Gateway连不上
-
重启电脑后恢复,过几个小时又挂
如果中了上面任意一条,继续往下看。
原因:macOS的LaunchAgent不会自动恢复
OpenClaw在macOS上是通过LaunchAgent运行的。正常情况下,系统启动它会跟着启动,系统休眠后它也会保持。
问题是:Gateway进程有时会自己崩溃,而LaunchAgent不会自动把它拉起来。
这就导致你发消息给龙虾,石沉大海——因为Gateway已经不在了,OpenClaw主程序还在跑,但消息没人接收。
解决方案:进程守护cron
原理很简单:每30分钟检查一次Gateway进程是否还在,如果不在就自动重启。
第一步:创建进程守护脚本
#!/bin/bash
# 检查Gateway进程是否存在
PID=$(pgrep -f "openclaw gateway" | head -1)
if [ -z "$PID" ]; then
echo "$(date): Gateway down, restarting..." >> ~/.openclaw/gateway-watch.log
openclaw gateway start 2>&1
fi第二步:添加到crontab
# 编辑crontab
crontab -e # 添加这一行(每30分钟执行一次)
*/30 * * * * /bin/bash ~/.openclaw/gateway-watch.sh >> ~/.openclaw/gateway-watch.log 2>&1保存退出,你的龙虾就有"自动复活"能力了。
效果:进程挂了会自动拉起来
配置完成后,每次Gateway掉线,30分钟内会自动被cron检测到并重启。日志会写进 ~/.openclaw/gateway-watch.log,你可以随时查看恢复记录。
实际效果:
Gateway崩溃 需要手动重启 最多等30分钟自动恢复
深夜故障 第二天才发现 自动修复,人不在也能好
多次重启 每次都要操作 cron全自动
进阶:如果你想更及时一点
30分钟太长?可以改成5分钟:
*/5 * * * * /bin/bash ~/.openclaw/gateway-watch.sh但注意太频繁的检查没必要——进程崩溃是小概率事件,5分钟和30分钟的实际体验差距很小。
总结
龙虾老掉线的根本原因是LaunchAgent不会自动恢复崩溃的Gateway进程。解决方案是添加一个cron进程守护脚本,自动检测+自动重启。
核心就两条命令:
# 1. 创建守护脚本
vim ~/.openclaw/gateway-watch.sh # 2. 加入crontab
crontab -e
# 添加: */30 * * * * /bin/bash ~/.openclaw/gateway-watch.sh配置一次,长期受益。
本文是「养龙虾」系列教程。你也想搭建这套系统吗?关注我,下期教你更多AI效率技巧。