大部分人都是SSH远程连接实验室服务器的,那么都有过了关掉SSH连接窗口后,代码不跑了的经历。
screen 能让你关掉SSH窗口后,后台继续运行你的代码

screen 常用操作

创建新的 screen 会话

screen -S session_name

执行完这条命令以后,即可创建一个名为 session_name 的会话,当前终端也会自动 attach 到这个会话中,然后用户便可以在其中做想要做的事情啦,只要不结束会话,即使断线也不会影响之前所做的工作。

显示当前所有存在的 screen 会话

screen -ls

手动 attach 指定 screen 会话

screen -r session_name

这条命令可以使得当前终端重新进入 session_name 这一会话,用户既可以使用每个会话拥有的独立编号指定会话,也可以通过创建会话时的会话名来指定会话。(一般断线后重连就靠它了,有时候也会出现断线但指定会话处于 Attached 的状态无法使用 screen -r 恢复,这个时候可以先 screen -d 再进行 attach)

手动 detach 指定 screen 会话

screen -d session_name

该命令可以使得当前终端脱离指定会话,被脱离的会话仍在后台运行,可通过 screen -r 重新绑定。

kill 当前会话

可以先 attach 到指定会话中,然后执行命令 exit 终止该会话。

个人使用

比如我就想让tensorboardX 后台挂着,方便我看跑的情况,watchGPU 让我看实验室GPUs的占用情况,train来跑代码。那么我就不用繁琐的每天开机输入命令了,直接SSH连接后,screen -r watchGPU直接恢复到对应的窗口。
在这里插入图片描述

#screen
tensorboardX watchGPU train
# 创建
#screen -S train
#连接attach
screen -r tensorboardX
screen -r watchGPU
screen -r train
#退出detach
screen -d tensorboardX
#杀死
exit
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐