Linux在后台运行程序,训练模型(screen命令)

应用screen在后台运行,训练模型

引言

我们在远程服务器或是云端服务器上运行程序或是训练模型时总是有一个问题就是不小心断了一下网然后训练就断开连接,训练停了,当场心态爆炸,而screen就通过在后台运行很好的解决了这个问题,断网后还能继续训练。

使用方法

1.安装
首先确定系统是否安装了screen
在终端输入以下命令,如果不报错则已经安装

which screen 

如果报错则输入以下命令安装
Ubantu系统:

apt-get install screen

CentOS系统

yum install screen

输入which screen后显示路径表示安装成功
在这里插入图片描述

2.创建screen窗口
输入以下命令创建一个screen窗口,其中test1是这个窗口的名字,可以自定义

screen -s test1

回车后就会进入这个窗口
如果一个窗口不够想要多线程可以通过一下操作复制一个窗口

在键盘上按 Ctrl+A,然后按下C

之后便会弹出一个新窗口,可以以此新建多个窗口
如果要切换这些窗口则

在键盘上按 Ctrl+A,然后按下shift+引号

终端就会显示你所创建的多个窗口,可以通过方向键上下选择,然后回车就可以进入这个窗口了,通过这种方法可以不浪费资源,多线程训练
在这里插入图片描述
如果要退出screen回到主窗口则输入:

扫描二维码关注公众号,回复: 17044590 查看本文章
Alt+A+D

注:如果你的Alt+A+D是截屏的话那就不管他了吧,直接用screen运行也是一样的,绝对不是因为我不知道怎么解决这个问题

如果要删除则输入以下命令,其中test1是你前面自己命名的窗口名

screen -s test1 -X quit

3.断网后恢复
只要你的云端服务器不关机,断网后或是自己主动关闭连接后你的模型都会继续训练。再次连上时可以通过以下命令查看运行情况。默认打开的是第一个窗口,可以通过screen -r test1打开指定窗口

screen -r

如果恢复不了报错There is no screen to be resumed matching
则是当前screen处于Attached状态,改为以下代码,其中45612为scren的编号,在前面报错的地方会显示

screen -d -r 46512

4.其他
可以通过一下命令来查看当前的各个窗口信息

 screen -ls

结果如图所示,16388这类数字的后面就是你的窗口名
在这里插入图片描述
可以通过以下方式来查看所有快捷键

Ctrl+A然后shift+问号

结果如图所示
在这里插入图片描述
注:以下命名用于删除所有窗口,比较危险,正常情况下不用

screen -wipe

在连接远程windows系统下用以下命令训练即可后台运行

nohup python main.py

猜你喜欢

转载自blog.csdn.net/qq_43605229/article/details/124807674