分享编程工具实用方法,面对无穷无尽的配置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
|