神器Screen

试想这样一个场景:某天你打开MobaXterm,然后进行深度学习训练,当训练进度到99%时,下一秒就能看到结果,突然啪的一声断电,你的进程因为断电强制结束。或者周六想出去放松一下,但是实验还得继续跑,只能电脑打开进程在那挂着,但是晚上Windows突然给你来个系统更新,系统又强制重启,over,血压上来了。那么此时就迎来了我们的神器Screen。

什么是Screen?

简单来说,使用Screen可以实现本地终端和远程终端的分离,在本地终端退出的情况下不影响远程终端的使用,也就是你在本地访问服务器跑程序之后本地主机关机也就没有影响了,可以实现随时切换,并且可以同时连接多个远程会话。

Screen是一个全屏窗口管理器,它可以在多个进程之间多路复用一个物理终端。Screen中有会话的概念,用户可以在一个会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telent/SSH连接窗口那样。 通俗的讲,screen命令用于新建一个或多个“命令行窗口”,在新建的这些“窗口”中,可以执行命令,并且这些“窗口”都是独立并行的。

Screen常用命令

  • 创建会话

最简单的方法就是直接输入screen

screen

但这种方法的劣势也很明显,当你的会话多了会无法分辨哪个进程id在干什么,切换麻烦,如下:

(base) user@gpu-SA5212M5:~$ screen -ls
There are screens on:
        36727.pts-8.gpu-SA5212M5        (2021年11月23日 10时26分53秒)   (Detached)
        36701.pts-8.gpu-SA5212M5        (2021年11月23日 10时26分24秒)   (Detached)
2 Sockets in /var/run/screen/S-user.

推荐使用方法:

screen -S $model_name

eg:

screen -S resnet

screen -S classification
  • 显示当前所有会话
screen -ls
(base)user@gpu-SA5212M5:~$ screen -ls
There are screens on:
        36752.resnet    (2021年11月23日 10时32分32秒)   (Detached)
        36727.pts-8.gpu-SA5212M5        (2021年11月23日 10时26分53秒)   (Detached)
        36701.pts-8.gpu-SA5212M5        (2021年11月23日 10时26分24秒)   (Detached)
3 Sockets in /var/run/screen/S-user.

如上所示,我们可以通过后面的名字得到具体的进程。此时就可以通过进程号和进程名字进行切换。

  • 会话切换

如果想切换到resnet这个进程可以通过:

screen -r resnet

screen -r 36752

上面任意一个都可。

  • 离开当前会话

如果你想离开当前会话(可能是关机,切换进程,回去玩耍等),也就是程序挂后台。

ctrl + a + d

此时可以在主会话上继续创建其他会话或者执行其他命令,对我们创建的会话没有任何影响。

  • 退出会话

当程序完成不需要此会话后,可以直接输入exit来结束当前会话。

ok,以上就是常用的screen命令,用好之后必定事半功倍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码匀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值