使用远程服务器总是因网络中断、终端不小心关闭、锁屏等导致程序中断 | screen窗口

分享编程工具实用方法,面对无穷无尽的配置bug,其他文章:

解决使用远程服务器时,非程序本身问题,而导致的跑代码中断问题:用自己的笔记本连接远程服务器跑代码,有时候网络中断因输入密码界面中断锁屏终端被不小心关闭等导致跑到一半的程序中断,真是非常伤心的一件事

此时,可使用screen命令

安装screen

在终端,使用apt-get install screen命令安装screen,如果仅使用conda安装无用

(换了一个服务器,发现这个命令没用。用sudo apt install screen

我直接摘抄的之前跑代码的Note,具体什么情况忘记了。现在用的服务器sudo apt install screen可以成功安装

创建screen窗口

screen -S zhe  # 创建1个screen窗口,名字为zhe

CSDN的富文本编辑器的代码格式太丑了,就不用代码格式了。这是要在终端输入的命令

真的难受啊,刚才已经快写完了,然后ctrl+z返回了一下,结果这个编辑器直接给我返回到最开始创建screen窗口这个段落了,好烦,又要再写一遍。好烦,在这个编辑器,慎用ctrl+z!!!

会生成这样的screen窗口:

好了,你的代码可以不灭了,不论是网络中断,甚至是不小心叉掉了screen窗口,里面的程序都会继续跑,我试过了。感觉screen窗口中的程序直接被送到了服务器上,只要服务器不关,就会继续跑,跟本机这边没什么关系,脱离了

退出screen窗口

按 ctrl+a (我之前笔记本好像是fn+a,可以自己试试),再按 d 键暂时退出screen终端 (detach)

我记得detach状态下程序时继续跑的,没啥影响。但是我一般不退出screen窗口,要退出点它上面的小垃圾筒符号就关了screen窗口。

再次进入screen窗口

首先 screen -list 查看一下,如查看到有一个 7812.zhe 的screen

然后 screen -r xx 就会再次进入screen窗口,如 screen -r 7812.zhe

我一般不用screen -r xx,而是用 screen -r -S xx,如 screen -r -S zhe 直接用自己自定义的名字就ok

删除screen窗口

screen -S xxx -X quit,如screen -S zhe -X quit  # 删除zhe

猜你喜欢

转载自blog.csdn.net/qq_45832958/article/details/124422683