返回顶部
o

openclaw-tmux-persistent-process持久进程管理

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
308
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

openclaw-tmux-persistent-process

OpenClaw Tmux 持久化进程

运行能够抵御 OpenClaw exec 会话清理和网关重启的程序。

为什么每个 OpenClaw 用户都应拥有此工具

OpenClaw 通过 exec 运行 shell 命令。但 exec 有一个关键限制,大多数用户直到出问题才会意识到:

  • - 后台进程与 exec 会话绑定。 当会话被清理(空闲超时、上下文压缩或网关重启)时,所有后台进程都会收到 SIGKILL 并立即终止。
  • 网关重启会杀死一切。 更新、配置变更或 openclaw gateway restart——所有正在运行的 exec 进程都会消失。
  • 没有警告。 你的隧道、开发服务器或构建任务就这样悄无声息地消失了。

这意味着你期望持续运行的任何东西——客户演示的隧道、开发服务器、长时间构建——都可能随时无故终止。

解决方案: 使用 tmux 创建与 exec 生命周期完全解耦的虚拟终端。tmux 中的程序能够抵御网关重启、exec 清理和会话超时。tmux 独立于 OpenClaw 运行——即使网关宕机,你的进程也会继续运行。

经验法则: 如果某个命令可能运行超过 2 分钟,请使用 tmux。



Socket 约定

所有操作都使用专用 socket,以避免干扰用户自己的 tmux:

bash
SOCK=/tmp/openclaw-tmux/openclaw.sock
mkdir -p /tmp/openclaw-tmux

启动进程

bash
SESSION=my-server

检查是否已在运行

if tmux -S $SOCK has-session -t $SESSION 2>/dev/null; then echo 已在运行 else tmux -S $SOCK new -d -s $SESSION \ cd /path/to/project && npm run dev echo 已启动 fi

监控

bash

列出所有会话


tmux -S $SOCK list-sessions

查看最后 30 行输出

tmux -S $SOCK capture-pane -t $SESSION -p -S -30

检查进程是否空闲(回到 shell 提示符)

tmux -S $SOCK capture-pane -t $SESSION -p -S -3 \ | grep -qE \$\s*$|❯ && echo 空闲 || echo 运行中

交互

bash

发送命令


tmux -S $SOCK send-keys -t $SESSION command Enter

发送纯文本(推荐,不解析特殊键)

tmux -S $SOCK send-keys -t $SESSION -l -- 纯文本 tmux -S $SOCK send-keys -t $SESSION Enter

Ctrl+C 中断

tmux -S $SOCK send-keys -t $SESSION C-c

停止 / 清理

bash

终止一个会话


tmux -S $SOCK kill-session -t $SESSION

终止所有

tmux -S $SOCK kill-server

清理过期 socket

rm -f $SOCK

启动交互式程序(等待就绪)

对于需要启动时间的程序(例如编码代理、REPL):

bash
SESSION=my-task
tmux -S $SOCK new -d -s $SESSION
tmux -S $SOCK send-keys -t $SESSION cd ~/project && node Enter

在发送命令前等待提示符

for i in $(seq 1 15); do OUTPUT=$(tmux -S $SOCK capture-pane -t $SESSION -p -S -5) if echo $OUTPUT | grep -qE ❯|>\s*$|ready; then break fi sleep 1 done

现在可以安全发送输入

tmux -S $SOCK send-keys -t $SESSION -l your command tmux -S $SOCK send-keys -t $SESSION Enter

常见用例

用例会话名称命令示例
开发服务器dev-servernpm run dev
隧道 (ngrok)
tunnel-ngrok | ngrok http 3000 | | 隧道 (localhost.run) | tunnel-lr | ssh -R 80:localhost:3000 nokey@localhost.run | | 后台工作进程 | worker | python worker.py | | 构建任务 | build-app | npm run build |

会话命名

小写字母加连字符。不要有空格。

dev-server — 开发服务器
tunnel-{name} — 隧道(ngrok、cloudflared 等)
build-{project} — 构建任务
worker-{name} — 后台工作进程

重要说明

  • - 重启 = 消失。 tmux 无法抵御系统重启。重启后需重新创建会话。
  • 回滚限制。 默认 2000 行。可通过以下命令增加:tmux set-option -t $SESSION history-limit 10000
  • Socket 过期。 如果 list-sessions 显示 error connecting,请删除 socket 并重新创建。
  • 环境变量。 tmux 在创建时继承环境变量。在命令中设置变量:tmux new -d -s name export KEY=val && cmd
  • 无冲突。 专用 socket 意味着与用户自己的 tmux 零干扰。

要求

  • - tmux 2.6+(支持 send-keys -l 纯文本模式)
  • 检查:tmux -V
  • 安装:brew install tmux(macOS)或 apt install tmux(Linux)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 openclaw-tmux-persistent-process-1776097442 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 openclaw-tmux-persistent-process-1776097442 技能

通过命令行安装

skillhub install openclaw-tmux-persistent-process-1776097442

下载

⬇ 下载 openclaw-tmux-persistent-process v1.0.0(免费)

文件大小: 2.8 KB | 发布时间: 2026-4-15 13:46

v1.0.0 最新 2026-4-15 13:46
Initial release: run long-lived processes in tmux that survive OpenClaw exec cleanup and gateway restarts. Explains why every OpenClaw user needs this for tunnels, dev servers, and long tasks.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部