全部博文(921)
分类: LINUX
2013-11-14 09:44:38
不知各位朋友曾经有没有遇到这个问题:使用SSH连接到服务器,当在编译程序(如LNMP一键安装包)的时候,网络异常或其它因素导致突然断开连接,远程命令也会停止,只能重新连接后再运行。本文就是教大家如何使用screen命令,避免出现以上问题。
Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。
用户可以在一个screen会话中创建多个screen子会话,在每一个screen会话(或子会话)中就像操作一个真实的telnet/SSH连接窗口。
部分CentOS系统没有自带screen,安装方法如下:
先在SSH中执行screen命令,如果提示screen:command not found,则在ssh执行以上命令。如果不会,请先输入exit退出。
情景:需要在CentOS中下载并安装,则先执行以下命令
回车以后,系统会自动跳转到名叫kwxgd的screen会话,就可以在这里执行LNMP一键安装包的命令了。
(但保留screen里运行的LNMP一键安装包命令)
在SSH窗口中按快捷键:Ctrl+a d(按住Ctrl,依次按a,再按d)即可退出名叫kwxgd的screen的会话。
暂时离开screen会话时,screen的会话并不会因为离开而停止,正在运行中(如编译LNMP一键安装包)的进程依然会继续运行,screen的好处就是可以在同一个ssh窗口中执行多个任务,如再新开一个Screen会话安装NET-SNMP。当然你也可以临时关闭ssh窗口,做些其它事情。重新读取screen会话有两种方法
若不再需要当前的screen会话,可以在当前的screen会话中执行 exit,提示[screen is terminating]表示已经成功关闭screen会话(不会保留在内存中),如果需要,请按第一步重建。
正如之前讲到的Ctrl + a d 可以暂时离开当前的screen会话,同时screen还提供其它的快捷键。
Ctrl + a c :在当前screen会话中创建一个子会话
Ctrl + a w :子会话列表
Ctrl + a p :上一个子会话
Ctrl + a n :下一个子会话
Ctrl + a 0-9 :在第0窗口至第9子会话间切换