在 Linux 中使用 screen 指令工具

screen 指令工具是一個非常方便的工具程式,有時工作到一半時,因為有事情要離開或是下班,但因為目前套件的安裝或編譯還未完成,如果中斷了,可能要重新再來一次,或是可能還會造成一些嚴重的後果,這時候如果可以把工作放在背景視窗,繼續工作,然後有空的話,再接續回來。
screen 指令工具就有這樣的功能,利用分離(Detach)功能,可以將視窗內的程序放入背景,即使登出主機切斷連線,只要該主機一直維持運作,分離的視窗就會持續地保留在背景。

安裝方式:
CentOS Linux
# yum install screen

Debian/Ubuntu Linux
$ sudo apt-get install screen

Arch Linux
# pacman -S screen

Gentoo Linux
# emerge screen[@more@]Screen 的功能非常強大,這裡只針對 分離(Detach) 來做說明
1. 登入主機後執行 screen 指令,執行之後畫面不會有任何變化
# screen

2. 退出的方式
# exit

3. 畫面會出現 [screen is terminating],表示已經退出 screen

4. 使用分離(Detach) 功能,執行 screen 後

執行要放入背景的工作,並按 CTRL+A 之後,再按 D
# /usr/bin/emerge -u world

工作會放到背景,畫面上會出現 [detached]

5. 執行 screen -ls 列出放在背景的視窗
# screen -ls
There is a screen on:
        31862.pts-0.share       (Detached)
1 Socket in /root/.screen.

6. 取出
# screen -r
# screen -r 31862.pts-0.share
因為目前只有一個工作,所以只要直接使用 -r 即可,如果有很多個,就要加上編號

7. 就取回原來的工作了!