tmux 最实用的作用是:SSH 断开后,远程终端中的任务仍能继续运行,下次登录还能回到原来的界面。 前提是服务器没重启、会话没有被清理。
Termius 负责连接服务器,tmux 运行在服务器上,两者可以配合使用。
1. 创建会话
bash
tmux new -s work
创建一个名为 work 的会话。进入后,像普通终端一样执行命令:
bash
./your_program
2. 暂时离开,保持任务运行
按:
text
Ctrl+b,然后松开,再按 d
这叫"分离会话"。之后可以退出 SSH,任务仍在运行。
tmux 大多数快捷键都是先按 Ctrl+b,松开后再按另一个键。
3. 重新进入会话
下次 SSH 登录后:
bash
# 查看有哪些会话
tmux ls
# 回到 work 会话
tmux attach -t work
简写:
bash
tmux a -t work
4. 分屏
在 tmux 内使用:
| 快捷键 | 作用 |
|---|---|
Ctrl+b,再按 % |
左右分屏 |
Ctrl+b,再按 " |
上下分屏 |
Ctrl+b,再按方向键 |
切换到对应窗格 |
Ctrl+b,再按 o |
切换到下一个窗格 |
Ctrl+b,再按 z |
当前窗格最大化/恢复 |
Ctrl+b,再按 x |
关闭当前窗格,需要确认 |
例如:左侧编辑代码,右侧编译,下方看日志。
5. 多窗口
一个会话可以有多个窗口,每个窗口又可以分屏。
| 快捷键 | 作用 |
|---|---|
Ctrl+b,再按 c |
新建窗口 |
Ctrl+b,再按 n |
下一个窗口 |
Ctrl+b,再按 p |
上一个窗口 |
Ctrl+b,再按 0~9 |
切换到指定编号窗口 |
Ctrl+b,再按 , |
重命名当前窗口 |
Ctrl+b,再按 w |
显示窗口列表,选择切换 |
你可以分别创建 code、build、log 三个窗口。
6. 查看历史输出
text
Ctrl+b,然后按 [
进入滚动模式:
- 方向键、PageUp、PageDown:滚动查看。
q:退出滚动模式。
开启鼠标支持后,也可以用滚轮查看:
bash
tmux set -g mouse on
7. 关闭会话
在窗格里执行:
bash
exit
关闭当前终端;最后一个窗口关闭后,会话结束。
也可以从外部关闭整个会话:
bash
tmux kill-session -t work
这会关闭会话中的终端,可能导致其中的任务终止。
8. 你的集群使用方式
bash
# 1. SSH 登录集群
ssh user@login01
# 2. 创建会话
tmux new -s kir
# 3. 在会话内申请计算资源
salloc -p 分区名 -N 1 -n 4 --gres=dcu:4
# 4. 按集群要求启动程序
mpirun -np 4 ./kir_mig_cuda config.yaml
想离开时按 Ctrl+b → d;回来后:
bash
tmux a -t kir
tmux 不会延长 Slurm 的资源申请时限。 正式长时间计算更适合用 sbatch 提交,tmux 适合交互调试、编译和查看日志。
最先记住这三个操作就够用:
bash
tmux new -s work # 创建
# Ctrl+b → d # 离开
tmux a -t work # 回来