在服务器上跑长时任务,最怕网络一断、终端一关,程序就没了。nohup 能挂后台,但多个任务难管理,状态看不见摸不着。tmux 给你在服务器上开一个永远不断的工作空间:多会话、多窗口、多面板,断线重连秒回到原来的界面,是跑长时分析的标配。这一讲把 tmux 的会话、窗口、面板操作一次理清,所有非交互式命令均可直接在终端测试,快捷键附在文末。
概念速览
tmux 用会话(session)管理工作上下文,每个会话可以有多个窗口(window),每个窗口可以分成多个面板(pane)。关键是 tmux 在后台独立运行——SSH 断线后会话保持不变,重新连接后 tmux attach 秒回原状。
核心命令速查
下面按功能分组,复制即可用;有副作用的命令(如 --delete、conda install)放最后一章:
#!/bin/bash# tmux 速查 -- 会话/窗口/面板管理(非交互式命令均可直接执行)SES=l11_work# ---- 会话操作 ----tmux new-session -d -s $SES -x 220 -y 50 # 创建后台会话tmux list-sessions # 列出全部会话tmux has-session -t $SES && echo"会话存在" || echo"会话不存在"tmux rename-session -t $SES"analysis"# 重命名会话# ---- 窗口操作 ----tmux new-window -t analysis -n "shell"# 新建并命名窗口tmux new-window -t analysis -n "monitor"# 再建一个窗口tmux list-windows -t analysis # 列出所有窗口tmux rename-window -t analysis:0 "main"# 重命名窗口# ---- 面板分屏 ----tmux split-window -h -t analysis:0 # 水平分屏tmux split-window -v -t analysis:0.0 # 垂直再分tmux list-panes -t analysis:0 # 列出面板# ---- 向面板发送命令 ----tmux send-keys -t analysis:0.0 "echo 'tmux ok' > /tmp/tmux_l11.txt" Entersleep 0.5cat /tmp/tmux_l11.txt# ---- 获取信息 ----tmux display-message -p -t analysis "#{session_name}/#{window_index}/#{pane_index}"tmux show-options -g history-limit 2>/dev/null | head -1# ---- 全局选项 ----tmux set-option -g history-limit 50000tmux set-option -g mouse ontmux set-option -g status-bg colour235# ---- 清理 ----tmux kill-pane -t analysis:0.2 2>/dev/null || truetmux kill-window -t analysis:2 2>/dev/null || truetmux kill-session -t analysisrm -f /tmp/tmux_l11.txtecho"tmux 演示完成"# ---- 快捷键(在 tmux 内按)----# Ctrl+B D 脱离会话(保持运行)# Ctrl+B C 新建窗口# Ctrl+B N/P 下/上一窗口# Ctrl+B % 水平分屏# Ctrl+B " 垂直分屏# Ctrl+B 方向键 切换面板# Ctrl+B Z 面板最大化/还原# Ctrl+B [ 进入复制模式(q 退出)
示例的输出日志
用测试数据实跑一遍,输出如下(路径已脱敏):
l11_autotest_150517: 1 windows (created Fri Jun 26 14:26:07 2026)tmux_oktmux 测试通过
以上为真实终端输出,可直接对照验证命令效果。
避坑指南
no server running on /tmp/... → tmux 未启动或 socket 路径变化,重开一个- 分屏太小报
terminal too small → 调大 SSH 终端窗口再分屏 - 中文乱码 → tmux 配置
set -g utf8 on(老版本),新版默认 UTF-8 - 关闭终端后任务没了 → 是退出了 tmux,要
Ctrl+B D 脱离而非 exit
📦 完整代码 + 测试数据下载
百度网盘链接:https://pan.baidu.com/s/1JKSMmGTFJ83mOZU3fRnQwg?pwd=l11c
提取码:l11c(代码已实测可直接运行,建议保存到自己网盘)