<code>screen</code> 是一個非常有用的指令,提供從單個 ssh 會話中使用多個 shell 視窗(會話)的能力。當會話被分離或網絡中斷時,screen 會話中啟動的程序仍将運作,你可以随時重新連接配接到 screen 會話。如果你想運作一個持久的程序或者從多個位置連接配接到 shell 會話,這也很友善。
在本文中,我們将展示在 linux 上安裝和使用 <code>screen</code> 的基本知識。
<a target="_blank"></a>
<code>screen</code> 在一些流行的發行版上已經預安裝了。你可以使用下面的指令檢查是否已經在你的伺服器上安裝了。
<code>screen -v</code>
<code>screen version 4.00.03 (fau)</code>
如果在 linux 中還沒有 <code>screen</code>,你可以使用系統提供的包管理器很簡單地安裝它。
centos/redhat/fedora
<code>yum -y install screen</code>
ubuntu/debian
<code>apt-get -y install screen</code>
你可以在指令行中輸入 <code>screen</code> 來啟動它,接着會有一個看上去和指令行提示符一樣的 <code>screen</code> 會話啟動。
<code>screen</code>
使用描述性名稱啟動螢幕會話是一個很好的做法,這樣你可以輕松地記住會話中正在運作的程序。要使用會話名稱建立新會話,請運作以下指令:
<code>screen -s name</code>
将 “name” 替換為對你會話有意義的名字。
要從目前的 screen 會話中分離,你可以按下 <code>ctrl-a</code> 和 <code>d</code>。所有的 screen 會話仍将是活躍的,你之後可以随時重新連接配接。
如果你從一個會話分離,或者由于某些原因你的連接配接被中斷了,你可以使用下面的指令重新連接配接:
<code>screen -r</code>
如果你有多個 screen 會話,你可以用 <code>ls</code> 參數列出它們。
<code>screen -ls</code>
<code></code>
<code>there are screens on:</code>
<code>7880.session (detached)</code>
<code>7934.session2 (detached)</code>
<code>7907.session1 (detached)</code>
<code>3 sockets in /var/run/screen/s-root.</code>
在我們的例子中,我們有三個活躍的 screen 會話。是以,如果你想要還原 “session2” 會話,你可以執行:
<code>screen -r 7934</code>
或者使用 screen 名稱。
<code>screen -r -s session2</code>
有幾種方法來中止 screen 會話。你可以按下 <code>ctrl+d</code>,或者在指令行中使用 <code>exit</code> 指令。
要檢視 <code>screen</code> 指令所有有用的功能,你可以檢視 <code>screen</code> 的 man 手冊。
<code>man screen</code>
<code>name</code>
<code>screen - screen manager with vt100/ansi terminal emulation</code>
<code>synopsis</code>
<code>screen [ -options ] [ cmd [ args ] ]</code>
<code>screen -r [[pid.]tty[.host]]</code>
<code>screen -r sessionowner/[[pid.]tty[.host]]</code>
原文釋出時間為:2017-02-17
本文來自雲栖社群合作夥伴“linux中國”