容器云使用指南
最佳实践
工具使用
tmux

保持SSH会话(终端复用)

通常由于SSH连接面对的网络环境、系统环境非常复杂。它不仅依赖各级运营商的网络、多级路由或防火墙等设备,还要依赖操作系统的稳定性。所以,我们在日常使用SSH的时候可能会遇到连接中断的情况。

如果您此时正在使用WebSSH或者第三方的SSH工具登录到您的容器实例中进行非常耗时的一些操作。比如下载训练或推理数据、终端前台打开某个命令行工具、编译压缩等。SSH的终端可能会给您的操作带来非常大的困扰。

为了解决SSH断连的问题,我们推荐您使用终端复用程序帮您保持打开的会话。当SSH连接重连后可以恢复之前正在进行的会话。

通常终端复用程序有screen和tmux两种。我们推荐您使用tmux工具进行终端的复用。

注意一下操作演示截图使用容器云提供的WebSSH工具,终端复用不要求您使用哪种SSH工具。

使用如下命令安装tmux终端复用工具

 
$ sudo apt install tmux
 

使用如下命令新建一个tmux会话

 
$ tmux new -s download
 
这里 -s download 指新会话的名称
 

打开一个新的会话.左下角位置可以看到当前会话的名称为download。

这里我们执行一个占用终端的程序top模拟您正在进行一个非常耗时的操作。

执行快捷键 Ctrl+b 然后再按d 把当前会话放入后台运行,此时上一步执行的耗时任务top仍然还在正常运行。

如果遇到SSH连接中断的情况,tmux也会保持当前已打开的可复用会话。

上一步把会话放入后台,可以执行如下命令查看当前有一个已打开的可复用会话。

 
$ tmux ls
 
# 通过输出可以找到刚才放入后台的会话download

执行如下命令把放入后台的会话重新恢复。

 
$ tmux a -t download
 

会话被重新打开。

有关tmux命令的使用请参考如下链接

https://zhuanlan.zhihu.com/p/667646001 (opens in a new tab)