欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【科研小白系列】使用screen创建虚拟终端,实现本地关机后服务器仍然跑模型

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

2024/11/30 11:35:56 来源:https://blog.csdn.net/Yaoyao2024/article/details/142024658  浏览:    关键词:【科研小白系列】使用screen创建虚拟终端,实现本地关机后服务器仍然跑模型

在这里插入图片描述

  • 博主简介:努力学习的22级计算机科学与技术本科生一枚🌸
  • 博主主页: @是瑶瑶子啦
  • 往期回顾: 【科研小白系列】模型训练已经停止(强行中断)了,可GPU不释放显存,如何解决?
  • 每日一言🌼: “生命可以归结为一种简单的选择:要么忙于生存,要么赶着去死。”
    —— 斯蒂芬·金《肖申克的救赎》

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。

参考:

  • linux后台运行命令screen的使用
  • screen命令——linux服务器后台运行
  • linux screen 命令详解

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com