在你批量執行多條命令或者執行的命令等待時間比較長的情況下,如果由于網絡原因或者其他原因,你的遠程SSH軟件突然掛掉了,執行的命令也終止了,悲劇了,又要加班了,想想是一件多么可怕的事情。
不要怕,Linux功能很強大,screen軟件來拯救你的小心臟,用了screen,加班是不可能加班的。
簡單來說,Screen是一個可以在多個進程之間多路復用一個物理終端的窗口管理器。Screen中有會話的概念,用戶可以在一個screen會話中創建多個screen窗口,在每一個screen窗口中就像操作一個真實的telnet/SSH連接窗口那樣。原理看不太懂,不用怕,接下來我們進行真實的實驗過程。
準備工作:
1.實驗環境:虛擬機vmware ,linux 7.5系統
2.linux 7.5 光盤鏡像文件
操作步驟:
1.打開已經安裝好的Linux7.5虛擬機,查找網卡ip地址,如圖中實驗中的網卡地址為192.168.203.128,用xshell軟件連入到系統內。
2.用lsblk命令查看光盤掛載的路徑,如圖中所示路徑為/run/media/root/CentOS 7 x86_64,用rpm命令進行安裝:rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm(注意:此處安裝軟件包路徑不可直接復制光盤路徑,需用TAB鍵補齊,仔細看圖可以發現路徑的細微差別)3.創建一個screen任務,實驗名字為:pingtext(備注:名字可以自己定義),此時打開一個新的xshell窗口,并連入Linux系統內,輸入命令screen -ls 命令查看當前存在的screen 任務。
4.輸入screen -x pingtext ?加入到screen 任務中,此時兩個同時連入的xhell窗口輸入的內容是同步進行的,例如左邊窗口輸入A,右邊窗口就會自動顯示A,這個功能很強大,因為如果你遇到問題了,你可以找個大神,幫你看看你在操作的過程中存在哪些錯誤,或者你是大神,你去幫助別人。
5.如何臨時退出screen任務,記住,是臨時退出,而不是永久,并且是退出,而不是結束任務,如果想永久結束screen任務,直接輸入exit即可。如果想臨時脫離,按Ctrl+a+d即可,想恢復到任務中。
6.screen功能的強大用法是可以保持任務的后臺運行,及時xshell或者crt等連接軟件中斷也不會導致任務中斷,例如:我需要ping一個ip地址168.203.1,如果不在screen任務中,我把xshell 軟件關閉之后,這個ping測試就會自動停止了,但是你加入到screenr任務中,再去進行ping測試,即使你關閉xshell這種遠程連接軟件,任務也不會停止,你可以輸入screen -x pingtest重新回到任務中,你會發現任務還在進行,并沒有停止。
7.screen命令功能及用法:
創建新screen會話
screen –S [SESSION]
加入screen會話
screen –x [SESSION]
退出并關閉screen會話
exit
剝離當前screen會話
Ctrl+a,d
顯示所有已經打開的screen會話
screen -ls
恢復某screen會話
screen -r [SESSION]
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/103450