FlossDoc: 請協力 GPLv3 的中文翻譯工作。

使用 GNU Screen 回復被中斷的遠端存取作業階段

FlossDoc,自由中文開源知識庫

Jump to: navigation, search

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

這時您應該會見到原先被中斷前的畫面。如果原先正叫電腦進行無互動的工作,這時您應看見工作的成果。如上例,您幾個小時後連線回來可能會看到編譯完成了。

請參看

外部連結

Personal tools