因为实验室经费紧张,组里一般是几个人共用一台服务器,所以都是用SSH远程连接服务器跑模型(自己电脑Windows、服务器是Linux系统),但远程跑代码过程中常因为电脑睡眠或者网络中断导致训练中断,为了解决这个问题我们可以使用screen
命令
screen
是窗口管理器的命令行界面版本,它提供了统一的管理多个会话的界面和相应的功能。简单说只要screen
还在,就算你断开了SSH连接,你这个连接中运行的东西还在,你再开个窗口输入命令又能进入这个screen
对应的窗口状态
具体操作如下
首先命令
screen -S name # name是你的 screen名称
比如我这里
screen -S bilstm #创建名为 bilstm的 screen
执行这个命令后就会进入一个新的ssh窗口,我们在这里面运行训练代码
python train.py
然后服务器就开始跑代码,这时就算我们关掉窗口也没事,服务器在它本地继续运行代码。
当我们想要恢复这个screen
时,输入命令
screen -r name # name是之前的screen名字
# 我这里就是
screen -r bilstm
不记得有哪些screen
时可以以下命令显示出来
screen -ls
其他关于screen
的命令
screen -S yourname # 创建一个新的session,名字是yourname
screen -ls # 列出所有的session
screen -r yourname # 进入指定的session
screen -d yourname # 断开指定的session
screen -d -r yourname # 断开当前的session并进入指定的session
screen -x yourname # 恢复之前离线的指定session
screen -X -S yourname quit # 删除指定的session