大部分人都是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 直接恢复到对应的窗口。
tensorboardX watchGPU train
screen -r tensorboardX
screen -r watchGPU
screen -r train
screen -d tensorboardX
exit
|