tmux实现Linux下的终端复用

2021-07-19
1 min read

当通过SHH远程连接服务器训练模型或者运行程序时,如果断开SSH连接,当前操作也会停止运行,这样的操作很不优雅,我们可以通过tmux实现断开连接后仍然继续执行当前窗口的操作。tmux实际为一个终端复用软件,主要可以实现以下功能:

  1. 分屏
  2. 保护现场
  3. 会话共享

1. 安装tmux

ubuntu环境下可通过以下命令进行安装:

sudo apt-get install tmux

2. 常用命令

2.1 新建会话

新建时需要指定会话名称:

tmux new -s <session-name>

之后会直接进入新建的会话当中,并且新会话默认停留在当前目录。之后即使断开SSH连接,当前会话中的程序仍然会继续运行,不会停止。

2.2 重回会话

当我们重新连接SSH后,可以重新进入之前的会话查看运行情况:

tmux attach -t <session-name>
tmux a -t <session-name>

2.3 退出当前会话

可以显示输入:

exit

或者快捷键Ctrl+d

2.4 查看所有会话

有两条命令均可查看:

tmux list-session
tmux ls

2.5 关闭会话

会话中所有操作结束后需要关闭会话,可以指定关闭特定会话:

tmux kill-session -t <session-name>

也可以直接关闭所有会话:

tmux kill-server

2.6 切换会话

tmux switch命令用于切换会话,可以通过编号或者名称进行指定:

tmux switch -t <session-id>
tmux switch -t <session-name>

后续更新进阶功能的配置