VPS侦探在刚接触Linux时最怕的就是SSH远程登录Linux VPS编译安装程序时(比如安装lnmp)网络突然断开,或者其他情况导致不得不与远程SSH服务器链接断开,远程执行的命令也被迫停止,只能重新连接,重新运行。相信现在有些VPSer也遇到过这个问题,今天就给VPSer们介绍一款远程会话管理工具 - screen命令。
一、screen命令是什么?
Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。
二、如何安装screen命令?
除部分精简的系统或者定制的系统大部分都安装了screen命令,如果没有安装,CentOS系统可以执行:yum install screen ;
Debian/Ubuntu系统执行:apt-get install screen 。
三、screen命令使用方法?
1、常用的使用方法
1.1 创建screen会话
可以先执行:screen -S test ,screen就会创建一个名字为test的会话。
1.2 暂时离开,保留screen会话中的任务或程序
当需要临时离开时(会话中的程序不会关闭,仍在运行)可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d mac使用control +a d )
1.3 恢复screen会话
当回来时可以再执行执行:screen -r test 即可恢复到离开前创建的test会话的工作界面。如果忘记了,或者当时没有指定会话名,可以执行:screen -ls screen会列出当前存在的会话列表,如下图:
[lishichao@yunwei-test ~]$ screen -ls There is a screen on: 7260.test (Detached) 1 Socket in /var/run/screen/S-lishichao. [lishichao@yunwei-test ~]$
7260.test即为刚才的screen创建的test会话,目前已经暂时退出了test会话,所以状态为Detached。
当使用screen -r test后状态就会变为Attached,7260是这个screen的会话的进程ID,恢复会话时也可以使用:screen -r 7260
可以看到终端发生了变化
1.4 关闭screen的会话
执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。
1.5 删除会话
[root@kvm-123 ~]# screen -ls There is a screen on: 21627.backup (Detached) 1 Socket in /var/run/screen/S-root. [root@kvm-123 ~]# screen -wipe 21627
2、远程演示
首先演示者先在服务器上执行 screen -S test 创建一个screen会话
观众可以链接到远程服务器上执行screen -x test 观众屏幕上就会出现和演示者同步。
[c:~]$ ssh lishichao@10.0.3.58 #需要注意的是: 在lishichao用户下创建的screen会话,即用lishichao用户连接。 [lishichao@yunwei-test ~]$ screen -x test
3、常用快捷键(进入screen终端使用)
Ctrl+a c :在当前screen会话中创建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一个窗口
Ctrl+a p :上一个窗口
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换