screen工具使远程执行慢命令不再怕挂线
维护www.jishubu.net网站有一段时间了,开始为了配置LINUX,在LINUX上安装lnmp环境是最纠结的日子,每次编译安装lnmp环境时由于网络不稳定自动断线,这样编译过程就会被强制终止,安装出来的程序由于安装过程的不顺也经常出现这样或那样的问题,不过后来我发现了screen工具。
screen工具是linux下虚拟终端的一个常用工具。在 发现这个工具之前,笔者经常在远程ssh中运行需要长时间处理数据的命令,比如远程编译安装软件,如果在编译的过程中网络断开,那这个编译进程就会停止, 造成想不到的后果。自从有了screen命令,我再也不用怕网线不稳和运行需要长时间处理数据的命令。
screen在redhat,centos系统中的安装命令是:yum install screen
linux screen 命令详解 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
功能说明:
? ?使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的 session.screen命令可以解决这个问题。Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端 的应用。
语 法:
? ?screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
补充说明:
? ?screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到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作业。
screen案例:
? ?新建一个lnmp会话:screen -S lnmp(lnmp为会话名,可自己定义)
? ?离开会话并让程序断续运行:ctrl a d (按住ctrl不放,分别按 a 和 d)
? ?恢复后台运行的会话:screen -r lnmp(lnmp为自己定义的会话名)
? ?显示所有screen创建的会话:screen -ls
? ?在会话里执行exit命令会话是结束运行并退到shell中。