tmux-processes 用于在 tmux 中可靠地运行长生命周期进程,例如开发服务器、watcher、tilt 或任何需要比当前对话存活更久的进程。
主要能力与用法:
交互式 Shell:不要用内联命令创建会话,因为会绕过 shell 初始化。先创建会话,再用 send-keys 把命令发给交互式 shell,确保 PATH、direnv 等初始化正常执行: tmux new-session -d -s "$SESSION" -n main tmux send-keys -t "$SESSION:main" 'tilt up' Enter
会话命名:会话名应来自项目。 SESSION=$(basename $(git rev-parse --show-toplevel 2>/dev/null) || basename $PWD) 同一项目的多个进程用 window,而不是多个 session。
启动进程:单进程可用 new-session 加 send-keys;幂等启动先用 tmux has-session 检查,已存在则不重复启动;也可向已有会话添加 window。
监控输出:用 tmux capture-pane -p -t "$SESSION:server" -S -50 抓取输出,并可配合 rg 检查错误或就绪标志(listening、ready、started)。
生命周期管理:tmux ls 列出会话,list-windows 列出窗口,kill-session 只终止本项目会话,send-keys 可发送 Ctrl+C(C-c)停止进程。
隔离规则:绝不使用 tmux kill-server;不终止与当前项目不匹配的会话;始终从 git root 或 pwd 推导会话名;终止前验证会话名;其他 Claude Code 实例可能运行着自己的会话。
适用场景:tilt up、开发服务器(npm run dev、rails s)、文件监听、测试监听、数据库服务器等长生命周期进程适合使用 tmux;一次性构建、十秒内完成的快速命令、需要 stdout 直接进入对话的场景则不适合。
安装、收费、平台等信息暂未提供。