FlossDoc: 請協力 GPLv3 的中文翻譯工作。
使用 GNU Screen 回復被中斷的遠端存取作業階段
FlossDoc,自由中文開源知識庫
Unix/Linux 管理員經常需要使用 ssh 等遠端存取工具登入在數據中心內的伺服器進行管理和維護工作。雖然現今的網絡連線一般都很穩定,但偶然也會因為路由器 (router) 設定或其他因數被中斷連線,令正在伺服器進行的工作亦被中斷。部份被中斷的工作並不能在再連線後回復而可能需要由頭重新開始,非常麻煩。但如果管理員連線後有開啟 GNU Screen,除了可以享用多個虛擬文字模式視窗和多人共享視窗等功能外,就算是無意或有意被中斷,正在進行的工作仍會在運行,管理員再連線後仍可以回復原本的畫面,繼續原先的工作。
目录 |
安裝 GNU Screen
首先遠端的伺服器當然要有安裝 GNU Screen。大部份 GNU/Linux 都有提供 GNU Screen 的套件。 如果沒有命令 screen,可以透過相關套件工具安裝套件 screen。
開啟 GNU Screen
連接遠端伺服器,您就可以輸入命令 screen 執行 GNU Screen 來開啟一個作業階段:
screen
操作中的時候,如果有要事需要暫時離開,您可以按【Ctrl-A】【d】中斷 GNU Screen 作業階段並中斷連線。事實上,就算您沒有按【Ctrl-A】【d】,但連線突然被中斷,被中斷的作業階段中運行的工作仍會繼續運作,不會因為斷線而中斷工作。例如如果您開啟了一個 GNU Screen 作業階段並在當中編譯一個很大的應用軟件,無論您中途【Ctrl-A】【d】並退出或因為路由器有問題或電話線噪音而斷線,只要執行 GNU Screen 的伺服器仍在運作,那編譯工作仍會在您沒有連線下繼續進行。
回復作業階段
當連接回先前有開啟 GNU Screen 作業階段的遠端伺服器後,就可以輸入命令 “screen -r” 回復作業階段:
screen -r
如果遠端伺服器有超過一個中斷了的 GNU Screen 作業階段,Screen 會投訴不知道應該回復那個 GNU Screen 作業階段:
$ screen -r There are several suitable screens on: 23567.pts-0.esmail (Detached) 4329.pts-0.esmail (Detached) Type "screen [-d] -r [pid.]tty.host" to resume one of them.
您需要再次執行命令 “screen -r” 並在後加上要回復的作業階段識別號:
screen -r 4329.pts-0.esmail
這時您應該會見到原先被中斷前的畫面。如果原先正叫電腦進行無互動的工作,這時您應看見工作的成果。如上例,您幾個小時後連線回來可能會看到編譯完成了。
請參看
外部連結
- GNU Screen 官方網站
- GNU Screen 使用手冊 - GNU Screen 官方使用手冊
- GNU/Linux Manpage: screen(1) - screen manager with VT100/ANSI terminal emulation


[SuSE][OpenSuSE] (2003-08) - GNU/Linux 中的 screen(1) 說明文件。

