【科研小白系列】使用screen创建虚拟终端,实现本地关机后服务器仍然跑模型

在这里插入图片描述

0、前言

最近连上实验室服务器跑模型了,但是发现这样有一个很鸡肋的点就是电脑不能关机,还得一直插着网线保持和服务器的连接才行。

之后同学告诉我说,有一个可以创建虚拟终端的方法,这样就算本地电脑关机,服务器仍然能够继续跑模型。这篇博客就是用来介绍在linux系统下的screen命令来实现这个功能。

1、screem命令介绍

背景:系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

在用服务器跑深度学习模型的时候,往往需要用到后台运行,否则一断开终端程序就终止了。使用screen管理会话,不仅可以临时断开一个会话,让程序在后台继续运行。也可以在一个窗口管理多个会话,非常方便。

2、使用步骤

2.1、打开终端

使用Xsehll连接并且打开终端

在这里插入图片描述

2.2、创建screen会话,进行离线任务

使用如下命令创建screen会话,其中"my_screen"可以换成自己定义的名字。

screen -S my_screen

比如我下面创建一个叫RegAD的作业:
在这里插入图片描述
按下回车后即可来到虚拟终端:
在这里插入图片描述

2.3 激活虚拟环境

来到虚拟终端后,激活相应的虚拟环境:

conda activate my_env(替换成自己的conda环境名)

在这里插入图片描述

2.4、进入项目目录,运行训练代码

在这里插入图片描述

2.5 退出并挂起虚拟终端

在Attached状态下,按Ctral+a,再按d,此时会退出并挂起虚拟终端(保存会话,后台运行该虚拟终端),此时会话状态变成Detacted

在这里插入图片描述

2.6 查看当前有哪些会话

screen -ls

刚刚多次创建了RegAD这个环境,所以发现有多个

也可以使用screen -R my_secreen

解释:-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

2.7 进入自己的会话

screen -r my_screen

2.8 删除会话

screen -S my_screen -X quit
screen -S 2292650.RegAD -X quit

3、补充

1、如何在screen窗口中翻页

重新进入会话后好像不能翻页,在自己的会话中按住Ctrl+A然后松手按[就可以进入copy mode(必须为英文输入法),这时候可以用PgUp(小键盘"上"方向键)、PgDn(小键盘"下"方向键)来翻页。按Ctrl+C退出copy mode。

参考:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是瑶瑶子啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值