1. 程式人生 > >Screen的用途及簡單示例

Screen的用途及簡單示例

全屏 後臺 ado 藍屏 1.0 終端 text 實用 nag

什麽是Screen?
     CentOS 7中man的解釋是:Screen是一個全屏窗口管理器,它在多個進程之間復用物理終端(通常是交互式shell)。

Screen的用途:

     1.screen可以創建一個session,實現不同終端之間的交互。可以實現多人觀看同一終端。
     2.在工做中,如果遇見突發情況(例如斷電,藍屏等),終端斷開,服務器端所有收到信號的前臺任務將全部終止,各種工作環境將全部丟失。如果在screen裏邊操作,這些問題都將得到解決。終端意外關閉之後,下次登錄到服務器上,進入screen,之前在screen上運行的任務還在繼續運行。screen的功能可以大概理解為它將前臺任務放入了後臺進行,並且不受終端關機的影響。

Screen用法的簡單舉例:

在使用screen之前,我們需要先安裝screen。(如果系統中已經存在screen就不要安裝了)。下面是用rpm安裝screen的詳細步驟:

[root@CentOS7 ~]# mount /dev/cdrom /media/
[root@CentOS7 ~]# rpm -ivh /media/Packages/screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm 

安裝成功後的界面如下:

技術分享圖片

安裝好之後,直接輸入screen,便可以創建session.
在這裏我們需要了解screen的基本命令:

  • screen:創建一個session,session name默認為“終端號-主機名”
  • screen -S sessionname: 創建一個session,名為sessionname
  • screen -ls:查看所有的session並顯示session的狀態(Attached:表示session未與終端中斷;Detached:表示session已與終端終端)
  • screen -r sessionname: 恢復已經與終端斷開的sessionname與終端的連接。
  • screen -x sessionname:加入正在連接session,可使兩個終端連接相同的session,即兩個終端顯示效果完全同步。

現在使用screen來實現兩個終端的交互:

(1)通過ssh將終端centos 6連接IP地址為192.168.116.130的centos 7終端上,如圖所示:

技術分享圖片
(2)通過screen -S lishuyang命令創建名為lishuyang的session,頁面跳轉至session界面,經過screen -ls查詢結果如下:
技術分享圖片
(3)現在在另一個終端centos 7進行screen -x lishuyang操作,如下:
技術分享圖片
(4)回車,就入如下界面:
技術分享圖片
(5)此時,已經完成另個終端的交互,在任意一個終端進行操作,另一個終端將同步該操作(在centos 6輸入“hello word”,在centos 7同樣顯示“hello word”),如下圖所示:
centos 6:
技術分享圖片
centos 7:
技術分享圖片


結語

使用screen創建的虛擬終端雖然實用上大大提高工作的安全性,但是,如果終端創建的太多,很容易讓人找不到原來的程序在哪個窗口執行,令人迷惑,所以,終端的數目不宜創建的過多,並且要時刻記住您程序所運行的終端,窗口。

Screen的用途及簡單示例