解决ssh远程连接服务器,中断后程序终止运行的情况

通过在Ubuntu服务器上安装并使用screen工具,可以在本地断开SSH连接后保持服务器上的程序继续运行。创建一个screen会话,运行所需代码,即使断开连接,程序也会持续运行。重新连接时,通过screen-rPID可以重新进入会话查看程序状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在使用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号:
在这里插入图片描述
进去之后可以看见我们的代码还在运行:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiong_jun_chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值