Linux技巧:screen管理遠程會話窗口

SSH遠程登錄Linux時(比如下載一個數(shù)據(jù)包),網(wǎng)絡(luò)突然斷開或者其他情況導(dǎo)致不得不與遠程SSH服務(wù)器鏈接斷開,遠程執(zhí)行的命令也被迫停止,只能重新連接,重新運行。為了解決這個問題,我們可以使用screen管理遠程會話窗口。

1. Screen簡介

screen是一個可以在多個進程之間多路復(fù)用一個物理終端的全屏窗口管理器。Screen中有會話的概念,用戶可以在一個screen會話中創(chuàng)建多個screen窗口,在每一個screen窗口中就像操作一個真實的telnet/SSH連接窗口那樣。

2. 安裝screen

CentOS需要安裝epel后安裝screen執(zhí)行:

yum install screen?

Ubuntu系統(tǒng)執(zhí)行:

apt-get install screen

3. 常見screen使用方法

3.1 創(chuàng)建screen會話

screen -S jupyter

screen就會創(chuàng)建一個名字為jupyter的會話。

3.2 快捷鍵Ctrl+a d

detached暫時離開,保留screen會話中的任務(wù)或程序,即按住Ctrl,依次再按a,d。

3.3 恢復(fù)screen會話

當(dāng)回來時可以再執(zhí)行執(zhí)行:

screen -r jupyter?

即可恢復(fù)到離開前創(chuàng)建的jupyter會話的工作界面。如果忘記了,或者當(dāng)時沒有指定會話名,可以執(zhí)行:

screen -ls

列出當(dāng)前存在的會話列表:

screen -ls

目前已經(jīng)暫時退出了jupyter會話,所以狀態(tài)為Detached,當(dāng)使用screen -r jupyter后狀態(tài)就會變?yōu)锳ttached,832是這個screen的會話的進程ID,恢復(fù)會話時也可以使用:

screen -r 832?

screen -r 進程ID


3.4 關(guān)閉screen的會話

exit

按ctrl-a 松手后再按*可以看到多少個人連接這個共享會話

刪除會話session

screen -S PID -X quit

4. 常用快捷鍵

Ctrl+a c :在當(dāng)前screen會話中創(chuàng)建窗口

Ctrl+a w :窗口列表

Ctrl+a n :下一個窗口

Ctrl+a p :上一個窗口

Ctrl+a 0-9 :在第0個窗口和第9個窗口之間切換


給screen發(fā)送命令使用了特殊的鍵組合C-a。這是因為我們在鍵盤上鍵入的信息是直接發(fā)送給當(dāng)前screen窗口,必須用其他方式向screen窗口管理器發(fā)出命令,默認(rèn)情況下,screen接收以C-a開始的命令。這種命令形式在screen中叫做鍵綁定(key binding),C-a叫做命令字符(command character)。

通過C-a ?來查看所有的鍵綁定,常用的鍵綁定有:

C-a ?顯示所有鍵綁定信息

C-a w顯示所有窗口列表

C-a C-a切換到之前顯示的窗口

C-a c創(chuàng)建一個新的運行shell的窗口并切換到該窗口

C-a n切換到下一個窗口

C-a p切換到前一個窗口(與C-a n相對)

C-a 0..9切換到窗口0..9

C-a a發(fā)送 C-a到當(dāng)前窗口

C-a d暫時斷開screen會話

C-a k殺掉當(dāng)前窗口

C-a [進入拷貝/回滾模式

參考:SSH遠程會話管理工具 - screen使用教程linux 技巧:使用 screen 管理你的遠程會話

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容