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

浙公网安备 33010602011771号