问题描述
最近使用阿里云服务器跑一个持续十几个小时的程序,但是家里网络不稳定,经常断网,所以我的远程连接也跟着断开了。提示信息如下,我就需要重新连接,这时候程序已经随着远程连接断开终止了,白跑了几个小时。
解决方法
看着时间和金钱哗哗的流走,想着这么下去不是办法,就想到能不能远程连接断开但是程序仍继续跑。
查了些资料,想要后台运行程序,众所周知的应该是在运行的命令后添加 “&”,如下图所示。但是我没实验该方法,不知道可不可行,我使用了下一个方法——screen。
系统里没有screen的需要先安装。
yum install -y screen
安装之后,输入 screen进入screen界面,在这个终端里可以输入要执行的命令,终端会变成这个样子。
还以上述为例,不是我要跑的程序。
[root@server_D ~]# screen
[root@server_D ~]# sh t1.sh
运行之后可能又会出现远程连接断开的情况,此时程序后台一直在跑,如果还想显示在界面上,需要通过screen -r恢复连接,后面需要接上要恢复的pid。
程序就正常运行啦。如果是写入文件的,可以通过tail命令查看程序是否一直在写入。
screen常用命令介绍链接:https://www.runoob.com/linux/linux-comm-screen.html