Linux下Screen命令的两种常见应用场景 防止任务中断 远程协助(会话共享)

自然 2019年9月6日19:12:51 评论 19

自然今天get到了一个非常实用的命令,有点感觉发了这篇文章,及备忘一下。你是不是还在为Linux么有teamviewer和Anydesk这种远程协助功能而发愁?是不是远程安装重要软件市,本地网络波动掉线了,而造成这个重要的任务中断而发愁?今天自然就来分享一下解决办法——使用screen命令

Linux下Screen命令的两种常见应用场景 防止任务中断 远程协助(会话共享)

基本语法

screen命令中文翻译为屏幕,功能也接近这个意思。先说一下基本语法及常用功能解释:

创建新screen会话

screen -S [SESSION]

加入screen会话

screen -x [SESSION]

退出并关闭screen会话

exit

剥离当前screen会话

Ctrl + a,d

显示所有已经打开的screen会话

screen -ls

恢复某个screen会话

screen -r [SESSION]

安装方式

yum install -y screen

如果你想详细了解screen这个命令,可以在终端上执行以下命令:

man screen

应用场景一:防止任务中断

管理服务器我们经常是以ssh或telent的方式远程接入linux操作系统,经常运行一些需要很长时间才能完成的任务,比如网站数据备份、ftp 传输、远程同步资料等,通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

Linux下Screen命令的两种常见应用场景 防止任务中断 远程协助(会话共享)

screen命令可以完美的解决这个问题,只要screen进程没有终止,即使我们网络突然中断造成会话丢失了,只需要重新连接执行screen -r就可以恢复对这个会话任务的管制权。

Linux下Screen命令的两种常见应用场景 防止任务中断 远程协助(会话共享)

这一命令非实用,例如我们编译网站所需要的Nginx+Mysql/MariaDB+PHP环境时,往往需要消耗大量的时间,尤其是Mysql/MariaDB需要的时间最多,如果在这个过程中我们网络突然中断,那么一切就前功尽弃了。

我们只要在编译环境前执行以下screen,再去执行环境编译安装,就不用担心网络突然中断造成任务前功尽弃了。

应用场景二:远程协助(会话共享)

经常我们遇到问题,找了文档,实在无解的情况回去寻找老司机的帮助。ip和密码一发就完事了,然而我们并没有学习到什么新技能?如果我们可以看见老司机的整个解决问题的过程,是不是就会get到新技能。sceen让你的这个想法成真。

这里自然做一下简单地演示,一般情况下是这样的,及时用同一个账户登录同一台服务器,每个窗口的内容也是不一样的,各是各的。

Linux下Screen命令的两种常见应用场景 防止任务中断 远程协助(会话共享)

 

我们先运行screen -S help创建一个名叫help的会话。然后在另一个登录终端使用screen -x help加入这个名叫help的会话中。所得到的的效果就是下面这样,两个窗口的动作变得一模一样了。

Linux下Screen命令的两种常见应用场景 防止任务中断 远程协助(会话共享)

总结

screen这条命令非常实用,可以用来防止网络中断以及一些突发情况造成的任务中断,又可以用来进行桌面共享,这就成了一个文本终端的teamviewer了。screen还有一个功能就不讲解,那就是像windows一样,我在看网页,我点一下右上角的隐藏窗口,去玩我的游戏,一会又隐藏游戏,回来看网页。如果你对这个功能感兴趣,不放执行man screen来详细了解screen的功能。

weinxin
网科文媒
快来关注一下,你想要的这里都有喔!
自然

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: