跳转至

Tmux

提示

Linux服务为了提供稳定的服务,都会后台运行程序。同理,为了保障咱们的训练任务不会因为一些网络波动导致任务中断,强烈建议您使用Tmux把任务放到后台运行。

Tmux 是一款可以管理会话和分屏的终端复用器。在远程 SSH 断开后可以继续执行任务,重新连接后再继续会话。也能够将进程放到后台运行,需要时重新接管。为了防止 SSH 因网络断开造成的进程运行中断,推荐把所有需要长期运行的训练等任务都使用 Tmux 终端。

官方镜像中已经安装了 tmux 工具,可以直接使用命令。首先创建一个会话。

执行命令 tmux 会创建一个编号为 0 的会话,再次创建会话的编号会向后排列。执行 tmux new -s <session-name> 可以创建一个自定义名称的会话。如创建一个名称为 session1 的会话:

tmux new -s session1

执行后进入到新创建的 session1 会话中,在底部会显示当前会话的信息。

进入会话后可以执行一些长时间运行的命令。当需要退出该会话,将会话放在后台运行时。可以执行 tmux detach 命令,或使用快捷键 Ctrl + B,再按 D 来退出会话。退出会话后底部会话信息会消失,并提示已从会话退出。

使用 tmux ls 命令可以查看当前所有的会话。

需要恢复会话时,使用 tmux a -t <session-name>,重新进入之前的会话中,如进入刚才名称为 session1 的会话:

tmux a -t session1

需要删除会话时。如果当前在会话当中,可以使用 Ctrl + D 或执行 logout 退出 SSH 登陆,即终止当前会话。在不在会话中时可以执行下列命令来删除会话。

# 删除指定会话
tmux kill-session -t session1
# 删除所有会话
tmux kill-server