您是否曾經遇到過在遠程計算機上執行長時間運行的任務,突然連接中斷,SSH會話終止以及工作丟失的情況。
在本教程中,我們將說明如何安裝screen命令并說明如何使用screen命令,如何使用screen運行后臺命令,進程與任務。
screen或GNU screen是終端多路復用器。 換句話說,這意味著您可以啟動screen會話,然后在該會話中打開任意數量的窗口,也就是虛擬終端。
即使它們的窗口不可見,在Screen中運行的進程也將繼續運行。
如今,大多數Linux發行版中都已預先安裝screen命令。 可以運行命令screen --version
檢查它是否已安裝在你的Linux系統。 命令將會screen的版本信息。
如果您的系統上未安裝screen,則可以使用發行版的軟件包管理器輕松安裝它。
如果你的計算機運行的是基于Debian的Linux發行版。 例如Ubuntu和Linux mint,可以運行命令sudo apt install screen
安裝screen。
如果你的計算機運行的是基于Redhat的Linux發行版。 例如CentOS和Fedora,可以運行命令sudo apt install screen
安裝screen。
sudo yum install screen #for centos and fedora
sudo apt install screen #for Ubuntu and Debian
screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
啟動 screen
要開始screen會話,只需在終端運行screen
命令即可。 這將打開一個screen會話,創建一個新窗口,并在該窗口中啟動shell。
當您運行多個screen會話時,命名會話非常有用。 要創建命令的會話,請運行命令screen -S session_name
。
現在您已經打開了一個screen會話,你鍵入Ctrl+a ?
來獲取命令列表。
當進入后,請鍵入Ctrl-a
c
,創建一個shell會話,然后就可以運行命令或者執行常駐后臺任務。
如果需要退出當前screen會話時,請鍵入Ctrl+a
d
退出screen。 你執行任務將會一直運行。
screen
screen -S session_name #命名會話
Ctrl+a ? #獲取幫助
Ctrl+a c #在screen創建shell 會話
Ctrl+a d #退出screen
screen 快捷鍵
當您開始新的screen會話時,它將創建一個帶有shell的窗口。 screen會話中可以有多個窗口。
要創建shell會話類型的窗口鍵入Ctrl+a
c
,將為其分配范圍0...9
中的第一個可用數字。
以下是一些用于管理screen窗口的最常用命令。 Ctrl+a
c
創建一個新窗口,包括shell會話。
Ctrl+a
"
列出所有窗口,Ctrl+a
0
切換到窗口0,Ctrl+a
A
重命名當前窗口
Ctrl+a
S
將當前窗口水平分為兩個窗口,Ctrl+a
|
將當前窗口垂直分割為兩個窗口。
Ctrl+a
tab
將輸入焦點切換到下一個窗口,Ctrl+a
Ctrl+a
在當前窗口和上一個之間切換。
Ctrl+a
Q
關閉當前區域以外的所有窗口,Ctrl+a
X
關閉當前窗口。
您可以隨時輸入鍵入Ctrl+a d
退出screen會話,從會話斷開后,在screen會話中運行的程序將繼續運行。
恢復screen會話
要恢復screen會話,請運行命令screen -r
。 如果您的計算機上正在運行多個screen會話,則需要在r
選項后附加screen會話id。
要找到會話ID,請運行screen -ls
命令列出當前正在運行的screen會話。 例如要還原screen的id是10835.pts的會話,請運行命令screen -r 10835
。
screen -ls
screen -r
screen -r 10835
There are screens on:
10835.pts-0.myfreax-desktop (Detached)
10366.pts-0.myfreax-desktop (Detached)
2 Sockets in /run/screens/S-myfreax.
自定義screen
啟動screen
時,如果配置文件存在,它將從/etc/screenrc
和~/.screenrc
中讀取其配置參數。
我們可以在~/.screenrc
文件根據喜好修改默認的screen設置。 以下是帶有自定義狀態行和一些其他選項的示例配置。
# 關閉歡迎消息
startup_message off
# 關閉聲音提示
vbell off
# 設置滾動的buffer
defscrollback 10000
# 自定行的狀態
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
結論
在本教程中,您學習了如何使用Gnu Screen。 現在,您可以開始使用screen程序,并通過單個會話創建多個窗口,在窗口之間導航。
退出和恢復screen會話,并使用?/.screenrc
文件個性化您的screen終端。
-
Linux
+關注
關注
87文章
11511瀏覽量
213781 -
計算機
+關注
關注
19文章
7662瀏覽量
90787 -
命令
+關注
關注
5文章
737瀏覽量
22876 -
SSH
+關注
關注
0文章
196瀏覽量
16945 -
Screen
+關注
關注
0文章
12瀏覽量
6922
發布評論請先 登錄
評論