http://www.cnblogs.com/xupeizhi/archive/2013/05/20/3088779.html screen 會建立一個跑着shell的單一窗口 Ctrl+a d退出剛建立的窗口(回到進入screen前的環境) 而後再敲入命令screen建立新的終端窗口 就這樣 你能夠創建多個有shell的窗口(這些窗口裏均可以跑你本身的應用) 這樣就是你退出遠程管理窗口(進入screen的環境) 你的screen窗間的窗口都不會關閉 裏面跑得應用天然也不會當掉 用screen -ls能夠看全部的screen sessions 用screen -r sessionid能夠進sessionid指定的特定的screen session 最後screen session再也不使用的時候 screen -r sessionid進去 exit退出便可 Unix/Linux 工具: Screen 命令使用 screen使用 使用screen很是簡易.只需在SHELL鍵入screen,即可打開一個screen session。 而在每一個screen session 下,全部命令都以 ctrl+a(C-a) 開始。 如今讓我來簡單介紹基本的命令 C-a c -> Create,開啓新的 window C-a n -> Next,切換到下個 window C-a p -> Previous,前一個 window more.. C-a C-a -> Other,在兩個 window 間切換 C-a w -> Windows,列出已開啓的 windows 有那些 C-a 0 -> 切換到第 0 個 window C-a 1..9 -> 切換到第 1..9 個window C-a a -> 發出 C-a,在 emacs, ve, bash, tcsh 下可移到行首 C-a t -> Time,顯示當前時間,和系統的 load C-a K(大寫) -> kill window,強行關閉當前的 window C-a [ -> 進入 copy mode,在 copy mode 下能夠回滾、搜索、 複製就像用使用 vi 同樣 C-b Backward,PageUp C-f Forward,PageDown H(大寫) High,將光標移至左上角 L Low,將光標移至左下角 0 移到行首 $ 行末 w forward one word,以字爲單位往前移 b backward one word,以字爲單位日後移 Space 第一次按爲標記區起點,第二次按爲終點 Esc 結束 copy mode C-a ] -> Paste,把剛剛在 copy mode 選定的內容貼上 C-a ? -> Help,顯示簡單說明 C-a d -> detach,將目前的 screen session (可能含有多個 windows) 丟 到後臺執行 當按了 C-a d 把 screen session detach 掉後,會回到還沒進 screen 時的狀態,此時在 screen session 裏每一個 window 內運行的 process (不管是前臺/後臺)都在繼續執行,即便 logout 也不影響。 下次 login 進來時: screen -ls -> 顯示全部的 screen sessions screen -r [keyword] -> 選擇一個screen session 恢復對話 若 screen -ls 裏有 Attached sessions: screen -d [keyword] -> 強制 detach,以便「接手」過來 實例: 說明看了那麼多,讓咱們用一個實際例子來結束咱們今天的學習。 在咱們開啓一個screen後,而後使用joe編輯一個文件,以後由於臨時須要離開這時就能夠運行Ctrl+a d,顯示以下: [becks@ec-base becks]$ screen [detached] 這個時候當咱們運行ps -e 能夠看到pts/2這個我剛剛運行的screen正在運行joe 6264 pts/2 00:00:00 bash 6354 pts/2 00:00:00 joe 而當咱們回來後想恢復這個session,只須要鍵入screen -r,而當你有多個session時候,系統將提示你選擇一個,以下: [becks@ec-base becks]$ screen -r There are several suitable screens on: 6263.pts-1.ec-base (Detached) 6382.pts-1.ec-base (Detached) Type "screen [-d] -r [pid.]tty.host" to resume one of them. 輸入該session的pid進行恢復 [becks@becks becks]$ screen -r 6263 想退出screen的session,和退出shell同樣,只須要鍵入exit命令,成功退出後將有如下提示 [screen is terminating] 【轉載2】 linux screen 命令詳解 功能說明: 使用telnet或SSH遠程登陸linux時,若是鏈接非正常中斷,從新鏈接時,系統將開一個新的session,沒法恢復原來的 session.screen命令能夠解決這個問題。Screen工具是一個終端多路轉接器,在本質上,這意味着你可以使用一個單一的終端窗口運行多終端 的應用。 語 法: screen [-AmRvx -ls -wipe][-d <做業名稱>][-h <行數>][-r <做業名稱>][-s ][-S <做業名稱>] 補充說明: screen爲多重視窗管理程序。此處所謂的視窗,是指一個全屏幕的文字模式畫面。一般只有在使用telnet登入主機或是使用老式的終端機時,纔有可能用到screen程序。 參 數: -A 將全部的視窗都調整爲目前終端機的大小。 -d <做業名稱> 將指定的screen做業離線。 -h <行數> 指定視窗的緩衝區行數。 -m 即便目前已在做業中的screen做業,仍強制創建新的screen做業。 -r <做業名稱> 恢復離線的screen做業。 -R 先試圖恢復離線的做業。若找不到離線的做業,即創建新的screen做業。 -s 指定創建新視窗時,所要執行的shell。 -S <做業名稱> 指定screen做業的名稱。 -v 顯示版本信息。 -x 恢復以前離線的screen做業。 -ls或--list 顯示目前全部的screen做業。 -wipe 檢查目前全部的screen做業,並刪除已經沒法使用的screen做業。 經常使用screen參數: screen -S yourname -> 新建一個叫yourname的session screen -ls -> 列出當前全部的session screen -r yourname -> 回到yourname這個session screen -d yourname -> 遠程detach某個session screen -d -r yourname -> 結束當前session並回到yourname這個session 在每一個screen session 下,全部命令都以 ctrl+a(C-a) 開始。 C-a ? -> Help,顯示簡單說明 C-a c -> Create,開啓新的 window C-a n -> Next,切換到下個 window C-a p -> Previous,前一個 window C-a 0..9 -> 切換到第 0..9 個window Ctrl+a [Space] -> 由視窗0循序換到視窗9 C-a C-a -> 在兩個最近使用的 window 間切換 C-a x -> 鎖住當前的 window,需用用戶密碼解鎖 C-a d -> detach,暫時離開當前session,將目前的 screen session (可能含有多個 windows) 丟到後臺執行,並會回到還沒進 screen 時的狀態,此時在 screen session 裏 每一個 window 內運行的 process (不管是前臺/後臺)都在繼續執行,即便 logout 也不影響。 C-a z -> 把當前session放到後臺執行,用 shell 的 fg 命令則可回去。 C-a w -> Windows,列出已開啓的 windows 有那些 C-a t -> Time,顯示當前時間,和系統的 load C-a K -> kill window,強行關閉當前的 window