tmux使用教程

阮一峰Tmux使用教程https://www.ruanyifeng.com/blog/2019/10/tmux.html

1. 为什么要使用 tmux

在使用tmux之前,用服务器跑程序的流程是:SSH 远程连接服务器 → 在终端中运行程序。
然而在运行时间较长的程序时(例如训练模型),往往会碰到一种尴尬的情况:不小心关闭了终端/终端因为电脑休眠而终止,运行的程序也因此意外终止。这是我们不希望看到的。
导致的原因直接在 shell 运行程序时,程序进程是当前shell的子进程。当VS Code断开SSH或是关闭终端后,shell会收到SIGNUP信号,默认情况下所有子程序都会被终止

为了接触服务器上的程序与当前终端的绑定,可以使用tmux(Terminal Multiplexer)。

2. 什么是tmux

在介绍tmux之前需要介绍几个概念:

  • 窗口 window:例如上面讲到的终端
  • 会话 session:打开窗口,输入命令,用户与计算机的这种临时的交互称为一次“会话”。

tmux(Terminal Multiplexer)是一个终端复用工具,它允许你在单个终端窗口中创建多个虚拟终端会话,并能保持这些会话在后台运行。与直接使用终端相比,tmux 提供了更强大的会话管理功能。

2.1 新建会话

# 启动tmux
tmux
# 新建会话
tmux new -s your_session_name

2.2 分离会话

在tmux窗口中,按下Ctrl+b d,或者输入:

tmux detach

将当前会话与窗口分离。
执行上述命令后,会退出tmux窗口,但是会话和程序会在后台运行

2.3 查看会话

查看所有对话可以通过Ctrl+b s,或者tmux ls

# 查看Tmux会话
tmux ls
# or
tmux list-session

2.4 接入会话

为了重新接入某个已经存在的会话,可以使用tmux attach

# 使用会话名称
tmux attach -t your_session_name

2.5 切换会话

# 使用会话名称
$ tmux switch -t your_session_name

2.6 杀死会话

# 使用会话名称
$ tmux kill-session -t your_session_name
posted @ 2025-12-11 22:49  Frank23  阅读(5)  评论(0)    收藏  举报