screen:linux远程服务器防断网断电小妙招

   当我们在本地连接远程linux服务器的时候,常常会担心本地电脑断电或者断网的问题,因为本地电脑一旦出现问题,我们在远程服务器上跑得程序也会自动断开,这会让人十分苦恼,特别是在网络不稳定的环境下。
   linux的screen命令很好地解决了这一问题,他类似于在服务器上开一个窗口(虚拟的),只是在我们本地电脑上显示,及时我们本地的电脑关机或者断网,回复之后仍可以连接上服务器的这个窗口,继续之间的结果(严格来说不是继续,因为在本地电脑断开的时候服务器仍然在运行,可以说是继续登录服务器观察运行结果)。

首先,在登录服务器的前提下,linux命令行输入

screen -S name

该命令创建一个名字为"name"的screen窗口,在该窗口下,可以和平常一样操作,然后运行程序。
运行好了,可以直接关掉当前session的窗口或着同时按下ctrl+a+d退出当前的screen。这两种操作模拟了我们断网断电的情况,然而我们运行的程序仍然在服务器端运行着。
输入

screen -ls

可以查看当前在运行的screen。如前面所操作的,我们能看到一个名为"name"的screen。
   想恢复这个名为"name"的screen,输入

screen -r name

就可以了。
   值得注意的是,如果没有专门的退出操作,这个screen会一直在服务器上进行,想退出这个名为"name"的screen,需要输入

screen -S name -X quit

   此外,还可能在恢复screen的时候遇到报错:
There is no screen to be resumed matching XXX
此时需要先输入

screen -d XXX

然后再输入

screen -r XXX

恢复该名为XXX的screen。

参考文献

[1] 哦摩西罗伊,Linux下跑程序,防止命令终断(断网,断电),2019-03-05。
[2] ma_fighting,解决 screen 连接不上,提示“There is no screen to be resumed matching 18352.” 的问题,2019-08-07。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值