前言
在使用ssh相关工具远程连接服务器时,会出现本地电脑断开远程连接后,服务器端的程序便停止运行的情况,针对此问题,本篇博客简单的给出了解决方法。此方法的部分步骤仅用于服务器端是ubuntu操作系统,CentOs步骤一致,可能命令不一样。
步骤
step1:在服务器终端安装screen
apt-get install screen
step2:在服务器挂一个屏幕
screen -S your_screen_name
your_screen_name按照你的想法,随便设置,比如我的是:
输入这一行指令以后,相当于咋们进入了服务器端主机的屏幕,在这里面进行的操作就相当于使用服务器主机的显示器对服务器主机进行操作,就算自己的电脑和服务器断开连接,不会影响服务器主机继续跑代码。
step3:查看对应的PID
screen -ls
我的pid号是:24757
注意:这个步骤的目的是,可能我们会退出服务器主机的屏幕,退出后状态为Detached:
下次我可能要跑代码,还会使用这个创建好的屏幕,那么我可以采用以下指令和pid号重新进入此屏幕:
screen -r pid号
我输入的是:
screen -r 24757
进入之后状态为atached,表示已经成功进入服务器主机的屏幕。
注意:采用screen -S your_screen_name创建一个screen时,创建完成就会进入创建的屏幕,对应的状态就是Atached
step4:在进入的屏幕中运行代码
进入的屏幕相当于服务器端对应的主机屏幕,进入后跑代码即可,比如我跑的是深度学习代码,直接输入python train.py即可运行
结束语:采用这种方式,代码在服务器端运行起来后,你可以马上关闭ssh远程服务连接工具,代码仍然在服务器上运行。我们可以验证一下,假如因为什么情况,和服务器的连接已经断开:
此时咋们重新连接服务器:
进入我们在服务器终端创建的屏幕screen -r pid号:
进去之后可以看见我们的代码还在运行:
来源地址:https://blog.csdn.net/xiong_jun_chen/article/details/129197291