screen命令用于多重视窗管理程序。
screen为多重视窗管理程序。所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式终端机时,才有可能用到screen程序。
有时候,也许会有这样的需求。要执行一个命令或者脚本,但是需要几个小时甚至几天。这就要考虑一个问题,就是中途断网或出现其他意外情况,执行的任务中断了怎么办?可以把命令或者脚本丢到后台运行,不过也不保险。screen可以避免这样的问题发生。
screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个窗口中就想操作一个真实的SSH连接窗口那样。
命令语法
|
|
命令参数
- -A 将所有的视窗都调整为目前终端机的大小。
- -d<作业名称> 将指定的screen作业离线。
- -h<行数> 指定视窗的缓冲区行数。
- -m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
- -r<作业名称> 恢复离线的screen作业。
- -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
- -s
指定建立新视窗时,所要执行的shell。 - -S<作业名称> 指定screen作业的名称。
- -v 显示版本信息。
- -x 恢复之前离线的screen作业。
- -ls或–list 显示目前所有的screen作业。
- -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
命令实例
如果没有screen命令需先安装
|
|
创建screen终端
|
|
创建 screen 终端 ,并执行 vi命令
|
|
Ctrl+a
再按d键,退出该screen回话,只是退出,并没有结束。需要结束的话输入 Ctrl+d
或者输入 exit
screen -ls
查看已经打开的screen会话
|
|
退出后还想再次登录某个screen会话,使用 sreen -r [screen编号]
,这个编号就是上例中那个20001.当只有一个screen会话时,后面的编号是可以省略的。当有某个需要长时间运行的命令或者脚本时就打开一个screen会话,然后运行该任务。按 ctrl+a d
退出会话,不影响终端窗口上的任何操作。
创建新的screen是可以指定自定义名称的
|
|
要想进入该screen,可以直接
|
|
screen源码编译安装
|
|
注意和一般程序的安装过程有所不同,后面两条命令一定要执行。