歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux中screen命令詳解

使用ssh遠程連接 linux服務器工作的時候,比如需要編譯某些程序而這時網絡不穩定斷線, 工作就白干了, 又的重新連接重復剛才的工作,這時候screen就可以派上用場了。

養成好習慣多用 screen!

1.安裝screen

---------------------------------

yum install screen

--------------------------------

2.運行 screen

--------------------------------

screen

--------------------------------

3.用法

Ctrl+a 然後按c 建立一個新的screen 會話

Ctrl+a 然後按n 跳轉到下一個screen 會話

Ctrl+a 然後按p 返回到上一個screen 會話

Ctrl+a 然後按d 將當前的screen 會話放在背景執行

Ctrl+a 然後按(大寫)S 分離一個screen 會話出來,分離後用Ctrl+a 然後按tab鍵 在分離出來的各screen間跳轉。

screen -ls 列出當前所有的screen會話

screen -r 進程號 之前Ctrl+a 然後按d 放在背景執行的會話 呼叫回來。

ssh中如果發生了突然斷線 那麼你重新登陸後 screen -ls 會發現 有screen的狀態是處於(Attached)狀態 此刻我們使用 screen -d 將他強行放到背景,然後再用screen -r 進程號將他呼叫回來。

如果 screen -ls 看到有死亡的會話 可以用screen -wipe 進程號 將他殺掉。

eg:

#screen -list可以看到正在運行的screen實例

There is a screen on:

80338.ttyp3.chh (Detached)

1 Socket in /tmp/screens/S-chh.

返回screen -r 80338

徹底退出:#exit

Screen 提供了兩個主要功能:

在一個終端內運行多個終端會話(terminal session)。

一個已啟動的程序與運行它的真實終端分離的,因此可運行於後台。真實的終端可以被關閉,還可以在

稍後再重新接上(reattached)。

簡短實例

開啟 screen:

# screen

在screen 會話中,我們可以開啟一個長時間運行的程序(如top)。Detach 這個終端,之後可以從其他機器

reattach 這個相同的終端(比如通過 ssh)。

# top

現在用Ctrl-a Ctrl-d 來 detach。Reattach 終端:

# screen -r

或更好的:

# screen -R -D

現在attach 到這裡。具體意思是:先試圖恢復離線的screen 會話。若找不到離線的screen 會話,即建立新

的 screen 會話給用戶。

Screen 命令 (在 screen 中)

所有命令都以Ctrl-a 開始。

Ctrl-a ? 各功能的幫助摘要

Ctrl-a c 創建一個新的 window (終端)

Ctrl-a Ctrl-n 和 Ctrl-a Ctrl-p 切換到下一個或前一個 window

Ctrl-a Ctrl-N N 為 0 到 9 的數字,用來切換到相對應的 window

Ctrl-a " 獲取所有正在運行的 window 的可導航的列表

Ctrl-a a 清楚錯誤的 Ctrl-a

Ctrl-a Ctrl-d 斷開所有會話,會話中所有任務運行於後台

Ctrl-a x 用密碼鎖柱 screen 終端

當程序內部運行終端關閉並且你登出該終端時,該 screen 會話就會被終止。

screen 實在是個讓人喜歡的工具,除了在管理遠程會話時給你帶來諸多方便外,今天還讓我發現了一 個很好用的功能,同步顯示你的屏幕給另一個會話。這在給別人處理問題是尤為好用,可以讓對方同步看到你的操作,剩下很多之後的解釋描述工作。

方法:

a.雙方同時登陸系統

b.演示方運行:

screen -S yahunet

c.觀看方運行:

screen -x yahunet
 

Copyright © Linux教程網 All Rights Reserved