【11】使用Linux命令语句screen让代码离线在服务器上运行

0.前言

在Linux服务器上跑代码,如果一直在线跑的话需要有人看着,也很容易因为网络不稳定突然就断开了,非常不适合需要长时间运行的代码;后来认识到了screen,使用了一段时间后觉得确实比较方便,也记录一下。
使用软件:xshell | 环境:pytorch | 语言:python

1.创建screen会话
screen -S myCode

运行该代码之后,就进入了myCode会话中,
在这里插入图片描述

2.运行代码

2.1)先进入需要运行的python文件的路径下

cd myfile/

2.2)再进入对应的环境中,例如PyTorch (可选)

conda activate pytorch

2.3)最后使用命令执行相应的python代码文件。

python test.py

在这里插入图片描述

如果运行没有出现什么问题的话,之后代码会挂到服务器上离线运行,无论是关掉窗口甚至是关闭软件或随意滑动等,对代码的运行都不会有影响;从代码运行开始,就已经和在线的命令框断开了联系。

3.恢复会话

3.1)首先,需要恢复会话先要知道之前创建会话的名称,即查看screen会话,输入如下命令,可以查看创建的所有screen回话。所有会话的名称由id和name组成。

screen -ls

3.2)恢复会话,输入以下命令即可。

screen -r 12345.myCode

3.3)删除已经运行结束或出现报错代码的会话文件

screen -S 12345.myCode -X quit

在这里插入图片描述
在这里插入图片描述

4.报错

报错内容:There is no screen to be resumed matching.

会话在窗口打开时,但由于网络不稳定,使得xshell直接与服务器断开连接,重新连接上之后,再使用screen -r 命令恢复该会话就报了这个错误;这个错误是因为之前没有好好关闭会话而是突然断开,说明之前的还没关,而一个会话不能恢复两次。

解决办法

4.1)先将该会话离线,

screen -d 12345.myCode

4.2)再恢复。

screen -r 12345.myCode
5.参考
  • https://blog.csdn.net/qq_34131701/article/details/124353270
  • https://blog.csdn.net/weixin_44527630/article/details/131556076

如果你觉得这篇文章对你有所启发的话,期待你的点赞、收藏和打赏,对我创作的支持!!!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_x_w

你的肯定是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值