SuperAPI AI 工具集

tmux-processes

通用与其它

查看项目

更新于 10-16 01:35

技能介绍

用途:在 tmux 中可靠地运行长生命周期进程,例如开发服务器、文件监听器、测试监听器、tilt 或数据库服务,让这些进程在对话结束后继续存活。

主要能力:提供启动、幂等启动、向已有会话添加窗口、多进程窗口管理、输出监控、生命周期管理、进程状态检查与重启等模式。核心做法是先用 tmux new-session -d -s "$SESSION" -n main 创建会话,再用 tmux send-keys -t "$SESSION:main" '<command>' Enter 在交互式 shell 中执行命令,以确保 PATH、direnv 等初始化正常。会话名从项目派生:SESSION=$(basename $(git rev-parse --show-toplevel 2>/dev/null) || basename $PWD)。同一项目的多个进程使用窗口而非独立会话。

使用方式:启动前用 tmux has-session 检查是否已存在,实现幂等;用 tmux list-windows 检查窗口;用 tmux capture-pane -p -t "$SESSION" -S -50 查看输出,可配合 rg 检查错误或就绪标志;用 tmux kill-session -t "$SESSION" 或 tmux kill-window 清理;重启时先发送 C-c 再发送启动命令。

适用场景:tilt up、npm run dev、rails s、文件监听、测试监听、数据库服务等长期运行进程。一次性构建或十秒内完成的快速命令不建议使用 tmux。

限制与隔离规则:绝不使用 tmux kill-server;不杀不属于当前项目的会话;始终从 git 根目录或 pwd 派生会话名;执行 kill 前先验证会话名;其他 Claude Code 实例可能运行着自己的会话。