使用screen实现 关掉本地计算机 而远程服务器继续跑代码
为什么建议使用screen?
我这一周都在跑一个深度学习模型的代码,本地电脑一直处在工作状态。心痛我的电脑太劳累,浪费电,屏幕太亮影响睡眠。朋友说使用screen工具可以实现离线跑代码,也就是说我可以关掉我本地的电脑,而远程服务器还在帮我跑代码!简简单单几个步骤即可实现,赶快来围观吧~
首先使用ssh连接到远程服务器:
C:\Windows\system32>ssh -p 12345 git@12.345.678.910
git@12.345.678.910's password:
创建一个新的screen:
(base) git@ecs-1a2b-12345678:~# screen -S test
查看刚才创建的screen:
(base) git@ecs-1a2b-12345678:~# screen -ls
There are screens on:
14154.test (03/29/2020 11:01:58 AM) (Attached)
1 Sockets in /run/screen/S-git.
切换路径:cd到服务器中你文件的存放位置:
(base) git@ecs-1a2b-12345678:~# cd /home/folders/Fiona/program
activate 自己的环境:
(base) git@ecs-1a2b-12345678:/home/folders/Fiona/program# conda activate Fiona0329
运行代码:
(Fiona0329) git@ecs-1a2b-12345678:/home/folders/Fiona/program# python run.py
完成以上步骤,使用ctrl+a+d退出screen,然后再×掉cmd窗口了可以关机出去玩耍啦,代码还会继续在服务器中愉快地跑~
玩耍回来之后,想要看一下刚才的程序跑得怎么样了,这个时候重新打开cmd,使用ssh登录到远程服务器,使用screen -ls命令查看自己所有screen。
Detached意思是当前screen没有被打开,相对的是Attached表示当前screen正处在打开状态。
重新打开screen:
(base) git@ecs-1a2b-12345678# screen -r 15659.test
这样就可以看到程序运行的状态了!
删除screen:
删除之前:
使用删除命令:
(base) git@ecs-1a2b-12345678# screen -X -S 16283.you quit
删除之后:
多谢阅读,觉得有用,转载+收藏吧!