Linux screen命令解决SSH远程服务器训练代码断开连接后运行中断

因为实验室经费紧张,组里一般是几个人共用一台服务器,所以都是用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

猜你喜欢

转载自blog.csdn.net/UCB001/article/details/121959915