SuperAPI AI 工具集

tmux-session-manager

部署与运维

查看项目

更新于 10-16 04:39

技能介绍

用途:tmux-session-manager 用于在用户可见的 tmux 面板中执行命令,实现协作式终端操作。它适用于执行命令、运行构建、启动服务或监控日志等需要让用户在终端中看到过程的场景。

确定目标面板:目标面板由用户指定,或通过发现获取。资料提供了以下发现命令:

tmux list-sessions -F "#S"

PANE Title

tmux list-panes -a -F "#S:#I.#P #T"

PANE Title CMD PWD

tmux list-panes -t main -F "#S:#I.#P #T #{pane_current_command} @ #{pane_current_path}"

示例中使用 $PANE 代表目标面板(如 main:1.1)。

关键规则:

  • 禁止交互式 TUI:不运行 vim、nano、top 等需要持续交互的程序。
  • 引号转义:send-keys 中注意引号转义,防止命令格式错误。
  • 读写分离:发送命令后必须读取输出确认结果,不假设成功。

核心操作: 执行命令时,可选先清屏:

tmux send-keys -t $PANE "clear" C-m

发送命令:

tmux send-keys -t $PANE "你的命令" C-m

必须读取输出确认:

tmux capture-pane -pt $PANE -S -100

读取输出:

tmux capture-pane -pt $PANE -S -100 # 根据预期输出调整行数

终止进程:

tmux send-keys -t $PANE C-c

常用按键:C-c 中断进程,C-d EOF/退出,C-z 挂起进程,C-l 清屏。

提示:长时间任务确认启动即可,无需等待完成;输出过长时增加 -S 行数(如 -S -200);判断命令完成可多次 capture 检查 shell prompt 是否出现。

限制:不运行需要持续交互的 TUI 程序;命令与输出需注意引号转义与读取确认。其他收费、平台、效果等信息暂未提供。