Shell screen的用法

SSH遠程登陸Linux以後執行任務時,遇到斷網、斷電或者電腦被人砸了致使客戶端與遠程服務器失聯,會致使正在執行的任務掛掉。通常來講,耗時比較久的任務咱們會用nohup sh xxx.sh &執行,可是,nohup沒法讓你介入操做,即便是kill都比較麻煩,得去找進程的pid。
shell

screen的好處就是,可讓你像nohup那樣「保存」正在執行的任務,也能夠垂手可得地恢復到正在執行任務的「screen」當中。而不管客戶端發生什麼天災人禍,服務器那邊都能如期執行。Screen被稱之爲一個全屏窗口管理器,用他能夠輕鬆在一個物理終端上得到多個虛擬終端的效果。而且,在這些虛擬終端中,它能夠建立多個窗口。瀏覽器

例如登陸以後:服務器

screen    # 建立一個虛擬終端,生成默認的[pid.tty.host]名稱
ctrl+a d    # 斷開剛建立的終端,回到建立前環境
screen -S Develop    # 建立另外一個終端,命名爲Develop
screen -S 測試    # 在Develop的screen環境中,再建立一個終端,命名爲測試
crtl+a d    # 斷開剛建立的「測試」終端
screen -ls    # 查看已存在的虛擬終端,會告訴你每一個終端的sessionid,以下:
#There are screens on:
#        24027.pts-2.xxx-host (Detached)
#        24489.Develop   (Detached)
#        25062.測試      (Attached)
#3 Sockets in /var/run/screen/S-work.
screen -r 24489    # 回到Develop終端中
exit    # 終止並退出Develop終端

上面講的是screen建立終端,在終端中,還有一個窗口的概念。終端比如是瀏覽器,窗口就是瀏覽器中的tab頁。
session

screen -r 24027    # 回到以前建立的終端中,必定要在screen終端中才能夠建立窗口
ctrl+a c    # 建立窗口,而後隨便在這個窗口中敲幾個字符,方便辨認
ctrl+a c    # 再建立一個
ctrl+a p    # 切換到上一個窗口,也就是剛纔敲了字符的那個
ctrl+a n    # 切換到下一個窗口
ctrl+a w    # 顯示窗口列表
ctrl+a 0-9    # 切換制定的窗口
ctrl+a K    # 關閉當前窗口,並切換到下一窗口(當退出最後一個窗口時,該終端自動終止,並退回到原始shell狀態)
exit    # 退出當前窗口,並切換到下一窗口(當退出最後一個窗口時,該終端自動終止,並退回到原始shell狀態)
相關文章
相關標籤/搜索