screen命令(关闭本地,远程服务器程序继续跑)

2023-03-02  本文已影响0人  马尔代夫Maldives

写在前面

自己的电脑连上服务器后,如果断网、关闭电脑、关闭终端、关闭IDE等都会导致远程服务器上程序退出,这对于需要长时间训练的程序是不可忍受的。
如何让连接断开时,服务器仍然继续执行我们的程序呢?
方法有多种:https://www.bbsmax.com/A/A7zgljQlJ4/

本文只讲screen方法。

一、建立远程连接

建立远程连接.png

二、在服务器上远程创建screen

1. 创建screen

>> screen -S cgx_test

上述命令创建名为“cgx_test”的screen,在终端上可能不会出现明显变化,但实际上已经进入新建的screen了,此时再执行各种操作就都是在screen中进行了(表面上看不出啥不一样)

创建screen.png

2. 查看已经存在的所有screen

>> screen -ls
查看screen.png
图中“80927”是系统为我们创建的screen分配的pid。
(attached):相当于处在当前screen窗口;
(detached):相当于最小化了(跳出)的screen窗口(该窗口内运行的程序正常运行);
(dead):相当于死了的窗口(已经无效的screen窗口,需要被kill掉);
用上述命令实际上就可以查看当前处于那个screen,attached就是标志!

3. 跳出当前screen

快捷键:Ctrl+a+b(有时需要多按几次),跳出当前screen。

跳出当前screen.png

4. 重新进入screen

>> screen -r pid_name 或 pid 或 name

重新进入某screen后,该screen的状况会从detached变为attached。

5. 彻底杀死screen

>> screen -S name -X quit

注意:用该命令时,好像不出现screen is terminating信息。)

6. 检查所有screen,并一次删除所有死亡无效的screen

>> screen -wipe

三、screen 使用举例

参考:
https://www.cnblogs.com/watson04/p/16950232.html
https://blog.csdn.net/weixin_47317192/article/details/126649130
https://blog.csdn.net/weixin_44612221/article/details/126279971
https://blog.csdn.net/weixin_43570155/article/details/121845415
https://blog.csdn.net/zhang_j_mail/article/details/127091978
https://mp.weixin.qq.com/s?__biz=MzI2OTE0ODY5Mw==&mid=2247484435&idx=2&sn=4285f2bcce7582526c3aaf01e14b30c3&chksm=eae5f369dd927a7fd7f6fed2ad82986e37b883af346ea116179acc5280cde59014b403f64a8a&scene=27

上一篇 下一篇

猜你喜欢

热点阅读