menu 马乞 Linux系统安装 Screen,附常用命令和参数详解
文章开始
文章结尾

Screen 是一个终端多路复用器,是一种软件应用程序,可用于多路复用多个虚拟控制台,允许用户在单个终端窗口内访问多个单独的登录会话,或者从终端分离和重新附加会话。它对于从命令行界面处理多个程序以及将程序与启动该程序的 Unix shell 会话分开非常有用,特别是这样远程进程即使在用户断开连接时也能继续运行。

Screen 可以被认为是图形窗口管理器的文本版本,或者作为将虚拟终端放入任何登录会话的一种方式。它是一个允许多个文本程序同时运行的包装器,并提供允许用户在单个界面中高效使用程序的功能。这可以实现以下功能:持久性、多窗口和会话共享。当到终端的网络连接不可靠时,通常会使用 Screen,因为断开的网络连接通常会终止用户正在运行的所有程序(登录会话的子进程),这是由于会话结束并发送 “挂断” 信号 (SIGHUP ) ) 到所有子进程。在屏幕下运行应用程序意味着会话不会终止 - 只有现已失效的终端会分离 - 因此应用程序甚至不知道终端已分离,并允许用户稍后重新连接会话并从他们离开的地方继续工作离开。说人话就是:在 Screen 创建的窗口,运行任务,不会被系统杀死,即使退出 SSH 连接,任务也会继续运行。再直白一点就是:Screen 窗口运行任务不杀后台。

首先,升级一下系统:

 yum -y update  #centos系统
 apt update  #Debian/Ubuntu系统

开始安装:

 yum install screen  #centos系统 
 apt-get install screen  #Debian/Ubuntu系统

常用的 screen 命令:

 screen -S yourname  #新建一个叫yourname的session
 screen -ls(或者screen -list) #列出当前所有的session
 screen -r yourname  #回到yourname这个session
 screen -d yourname  #远程detach某个session
 screen -d -r yourname  #结束当前session并回到yourname这个session

screen 参数详解:

 -A  #将所有的视窗都调整为目前终端机的大小。
 -d <作业名称>  #将指定的screen作业离线。
 -h <行数>  #指定视窗的缓冲区行数。
 -m  #即使目前已在作业中的screen作业,仍强制建立新的screen作业。
 -r <作业名称>  #恢复离线的screen作业。
 -R  #先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
 -s  #指定建立新视窗时,所要执行的shell。
 -S <作业名称>  #指定screen作业的名称。
 -v  #显示版本信息。
 -x  #恢复之前离线的screen作业。
 -ls或--list  #显示目前所有的screen作业。
 -wipe  #检查目前所有的screen作业,并删除已经无法使用的screen作业。