在使用Linux系统服务器时,我们会使用到SSH工具来连接自己的服务器,然后执行一些程序安装、测试之类的等等,但是有个时候可能会遇到本地网络不太好,或者服务器于本地网络连接不太好的问题,可能会遇到导致SSH连接断开的问题,由于Linux系统SSH连接的端口在断网等情况导致断开后,再次使用SSH连接会连接到新的窗口,原来执行的任务是无法查看到的,所以经常导致要重复来执行任务,非常麻烦。
这里分享一个Linux系统的Screen工具的使用方法与使用教程,Screen工具是Linux系统的多重视窗管理程序,是一个终端多路转接器,能够使用一个单一的终端窗口运行多终端的应用,因此为Linux服务器安装screen多重视窗管理程序后,在screen新建的窗口执行任务无需担心网络问题引起的SSH连接中断而导致执行任务中断。最简单的说,在Screen工具创建的窗口执行任务不用担心网络断线离线问题,即时SSH远程连接离线了Screen下执行的任务依旧会照常进行。
一、如何为Linux服务器安装Screen工具
1、先根据自己的系统版本选择下面对应的命令安装Screen工具!
如果你的系统使用的是RedHat/CentOS先执行下面命令安装Screen工具:
yum -y install epel-release
yum install screen
如果你的系统使用的是Debian/Ubuntu先执行下面命令Screen工具:
apt -y install epel-release
apt install screen
二、Screen工具使用命令介绍
下面介绍的是常用的命令,一般这几个已经足够用了。
创建指定名称的作业窗口。“<作业名称>”内容需要改成你的作业名称。例如:screen –S zhuji999。
screen -S <作业名称>
显示已经创建的所有screen作业窗口列表.
screen -ls
指定名称的窗口的作业离线,就是停止指定窗口的作业。
screen -d <作业名称>
恢复离线的screen作业。
screen -r <作业名称>
进入指定名称的作业的窗口
screen -x <作业名称>
这里还有更多参数介绍:
-A 将所有的视窗都调整为当前终端机的大小。
-d<作业名称> 将指定的screen作业离线。
-h<行数> 指定视窗的缓冲区行数。
-m 即使当前已在作业中的screen作业,仍强制建立新的screen作业。
-r<作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S<作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或–list 显示当前所有的screen作业。
-wipe 检查当前所有的screen作业,并删除已经无法使用的screen作业。
三、Linux服务器使用Screen工具执行任务教程
1、为自己的服务器安装好Screen工具后,执行“screen –S <作业名称>”命令可以创建指定名称的作业窗口,如下图分别创建了“screen –S zhuji999”和“screen –S zhji888”两个作业窗口,分别作业的都是“ping www.bing.com”任务。
2、为了体验效果。主机玖玖断开了自己的本地网络,于是出现了窗口断线的错误,此时我们连上本地网络,再次连接自己的Linux服务器,发现是查不到不到“ping www.bing.com”任务是否还在执行。
3、这里我们使用“screen -ls”命名来看出任务列表,可以查看到正在执行的两个任务正在执行。
4、加入我们需要查看12082.zhuji999任务的情况。可以使用“screen -x”命令再次进入到窗口。如果“screen -x 12082.zhuji999”效果如下,进入后还在执行ping任务当中。
在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。C-a ? -> Help,显示简单说明C-a ” -> 列出终端列表C-a A -> 重命名终端C-a c -> 创建新的终端,并切换到该终端C-a d -> 暂时断开会话,但所有任务都依然执行C-a K -> 关闭当前终端,并切换到下一个终端(当没终端时 退到原始shell终端)C-a n -> 切换到下一个终端C-a p -> 切换到上一个终端C-a t -> 显示当前时间,和系统的 loadC-a S -> 新建水平线分割终端C-a Tab -> 水平线切换终端C-a X -> 关闭当前终端C-a + -> 扩大当前终端C-a – -> 缩小当前终端C-a [Space] -> 窗口切换C-a 0-9 -> 在0-9个终端之间切换C-a C-a -> 最近使用的2个窗口切换C-a w -> 列出终端列表C-a x -> 锁住当前窗口,需用用户密码解锁C-a z -> 把当前会话放到后台执行,用 shell 的 fg 命令则可回去。exit:关闭当前终端 (注:和“C-a c”一样Ctrl-a::screen 新建 screen 终端,并运行命令:resize 改变当前窗口高度为:quit 退出 screen 关闭所有 screen 终端,结束其中所有任务Ctrl-a 进入选择模式或 Ctrl-u 光标上移一页或 Ctrl-d 光标下移一页或 h 光标左移一格或 j 光标下移一行或 k 光标上移一行或 l 光标右移一格选择开始,选择结束退出选择模式Ctrl-a ] 粘贴选择的内容