人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Linux系統(tǒng)中的screen命令基本使用教程

發(fā)布日期:2022-01-31 15:18 | 文章來(lái)源:源碼中國(guó)

作為linux服務(wù)器管理員,經(jīng)常要使用ssh登陸到遠(yuǎn)程linux機(jī)器上做一些耗時(shí)的操作。


也許你遇到過(guò)使用telnet或SSH遠(yuǎn)程登錄linux,運(yùn)行一些程序。如果這些程序需要運(yùn)行很長(zhǎng)時(shí)間(幾個(gè)小時(shí)),而程序運(yùn)行過(guò)程中出現(xiàn)網(wǎng)絡(luò)故障,或者客戶機(jī)故障,這時(shí)候客戶機(jī)與遠(yuǎn)程服務(wù)器的鏈接將終端,并且遠(yuǎn)程服務(wù)器沒(méi)有正常結(jié)束的命令將被迫終止。


又比如你SSH到主機(jī)上后,開(kāi)始批量的scp命令,如果這個(gè)ssh線程斷線了,scp進(jìn)程就中斷了。在遠(yuǎn)程服務(wù)器上正在運(yùn)行某些耗時(shí)的作業(yè),但是工作還沒(méi)做完快要下班了,退出的話就會(huì)中斷操作了,如何才好呢?


我們利用screen命令可以很好的解決這個(gè)問(wèn)題。實(shí)現(xiàn)在斷開(kāi)SSH的情況下,在服務(wù)器上繼續(xù)執(zhí)行程序。


那什么是screen命令?


Screen被稱之為一個(gè)全屏窗口管理器,用他可以輕松在一個(gè)物理終端上獲得多個(gè)虛擬終端的效果。


Screen功能說(shuō)明:


簡(jiǎn)單來(lái)說(shuō),Screen是一個(gè)可以在多個(gè)進(jìn)程之間多路復(fù)用一個(gè)物理終端的窗口管理器,這意味著你能夠使用一個(gè)單一的終端窗口運(yùn)行多終端的應(yīng)用。Screen中有會(huì)話的概念,用戶可以在一個(gè)screen會(huì)話中創(chuàng)建多個(gè)screen窗口,在每一個(gè)screen窗口中就像操作一個(gè)真實(shí)的telnet/SSH連接窗口那樣。


Screen命令語(yǔ)法:


screen [-AmRvx -ls -wipe][-d <作業(yè)名稱>][-h <行數(shù)>][-r <作業(yè)名稱>][-s ][-S <作業(yè)名稱>]


Screen命令參數(shù):
-A -[r|R] 將所有的視窗都調(diào)整為目前終端機(jī)的大小。
-c filename 用指定的filename文件替代screen的配置文件’.screenrc’.
-d [pid.tty.host] 斷開(kāi)screen進(jìn)程(使用該命令時(shí),screen的狀態(tài)一定要是Attached,也就是說(shuō)有用戶連在screen里)。一般進(jìn)程的名字是以pid.tty.host這種形式表示(用screen -list命令可以看出狀態(tài))。
-D [pid.tty.host] 與-d命令實(shí)現(xiàn)一樣的功能,區(qū)別就是如果執(zhí)行成功,會(huì)踢掉原來(lái)在screen里的用戶并讓他logout。
-h <行數(shù)>   指定視窗的緩沖區(qū)行數(shù)。


-ls或–list 顯示目前所有的screen作業(yè)。
-m 即使目前已在作業(yè)中的screen作業(yè),仍強(qiáng)制建立新的screen作業(yè)。
-p number or name 預(yù)先選擇一個(gè)窗口。
-r [pid.tty.host] 恢復(fù)離線的screen進(jìn)程,如果有多個(gè)斷開(kāi)的進(jìn)程,需要指定[pid.tty.host]
-R 先試圖恢復(fù)離線的作業(yè)。若找不到離線的作業(yè),即建立新的screen作業(yè)。
-s shell 指定建立新視窗時(shí),所要執(zhí)行的shell。
-S <作業(yè)名稱> 指定screen作業(yè)的名稱。(用來(lái)替代[pid.tty.host]的命名方式,可以簡(jiǎn)化操作).
-v 顯示版本信息。
-wipe 檢查目前所有的screen作業(yè),并刪除已經(jīng)無(wú)法使用的screen作業(yè)。
-x 恢復(fù)之前離線的screen作業(yè)。


Screen命令的常規(guī)用法:


screen -d -r:連接一個(gè)screen進(jìn)程,如果該進(jìn)程是attached,就先踢掉遠(yuǎn)端用戶再連接。


screen -D -r:連接一個(gè)screen進(jìn)程,如果該進(jìn)程是attached,就先踢掉遠(yuǎn)端用戶并讓他logout再連接


screen -ls或者-list:顯示存在的screen進(jìn)程,常用命令


screen -m:如果在一個(gè)Screen進(jìn)程里,用快捷鍵crtl+a c或者直接打screen可以創(chuàng)建一個(gè)新窗口,screen -m可以新建一個(gè)screen進(jìn)程。


screen -dm:新建一個(gè)screen,并默認(rèn)是detached模式,也就是建好之后不會(huì)連上去。


screen -p number or name:預(yù)先選擇一個(gè)窗口。


Screen實(shí)現(xiàn)后臺(tái)運(yùn)行程序的簡(jiǎn)單步驟:


1> 要進(jìn)行某項(xiàng)操作時(shí),先使用命令創(chuàng)建一個(gè)Screen:

復(fù)制代碼
代碼如下:

[linux@user~]$ screen -S test1

2>接著就可以在里面進(jìn)行操作了,如果你的任務(wù)還沒(méi)完成就要走開(kāi)的話,使用命令保留Screen:

復(fù)制代碼
代碼如下:

[linux@user~]$ Ctrl+a+d #按Ctrl+a,然后再按d即可保留Screen
[detached] #這時(shí)會(huì)顯示出這個(gè)提示,說(shuō)明已經(jīng)保留好Screen了

如果你工作完成的話,就直接輸入:

復(fù)制代碼
代碼如下:

[linux@user~]$ exit#這樣就表示成功退出了
[screen is terminating]

3> 如果你上一次保留了Screen,可以使用命令查看:

復(fù)制代碼
代碼如下:

[linux@user~]$ screen -ls
There is a screen on:
9649.test1(Detached)

恢復(fù)Screen,使用命令:

復(fù)制代碼
代碼如下:

[linux@user~]$ screen -r test1 (or 9649)

Screen命令中用到的快捷鍵


Ctrl+a c :創(chuàng)建窗口


Ctrl+a w :窗口列表


Ctrl+a n :下一個(gè)窗口


Ctrl+a p :上一個(gè)窗口


Ctrl+a 0-9 :在第0個(gè)窗口和第9個(gè)窗口之間切換


Ctrl+a K(大寫(xiě)) :關(guān)閉當(dāng)前窗口,并且切換到下一個(gè)窗口(當(dāng)退出最后一個(gè)窗口時(shí),該終端自動(dòng)終止,并且退回到原始shell狀態(tài))


exit :關(guān)閉當(dāng)前窗口,并且切換到下一個(gè)窗口(當(dāng)退出最后一個(gè)窗口時(shí),該終端自動(dòng)終止,并且退回到原始shell狀態(tài))


Ctrl+a d :退出當(dāng)前終端,返回加載screen前的shell命令狀態(tài)

多窗口
screen,像許多的窗口管理器一樣,能支持多窗口。這個(gè)功能在處理多個(gè)任務(wù)且同時(shí)沒(méi)有打開(kāi)新的會(huì)話時(shí) 很有用。作為一個(gè)系統(tǒng)管理員,我常常要同時(shí)開(kāi)四五個(gè)SSH會(huì)話。在每個(gè)shell下,我可能要處理兩三個(gè)任務(wù)。不使用screen的話,需要15個(gè)SSH 會(huì)話,15次登錄,15個(gè)窗口等等。使用screen,每個(gè)系統(tǒng)都分配到一個(gè)單獨(dú)的會(huì)話中,我通過(guò)screen來(lái)管理系統(tǒng)上不同的作業(yè)。
要打開(kāi)新的窗口,只需要使用“Ctrl-A”“c”。創(chuàng)建的新的窗口會(huì)顯示一個(gè)默認(rèn)的命令提示符。例如,我可以運(yùn)行top命令后再打開(kāi)一個(gè)新的窗口來(lái)做其它的工作。Top繼續(xù)留在那運(yùn)行!可以親身實(shí)驗(yàn)一下,啟動(dòng)screen并運(yùn)行top。(注:為了節(jié)省空間我截?cái)嗔硕鄠€(gè)屏幕。)
啟動(dòng)top

復(fù)制代碼
代碼如下:

Mem:506028K av, 500596K used, 5432K free,
0K shrd,11752K buff
Swap: 1020116K av,53320K used, 966796K free
393660K cached</p> <p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME
6538 root250 1892 1892596 R 49.1 0.3
6614 root160 1544 1544668 S 28.3 0.3
7198 admin 150 1108 1104828 R 5.6 0.2

現(xiàn)在可以通過(guò)“Ctrl-A”“c”來(lái)打開(kāi)一個(gè)新窗口

復(fù)制代碼
代碼如下:

[admin@ensim admin]$
To get back to top, use "Ctrl-A "n"
Mem:506028K av, 500588K used, 5440K free,
0K shrd,11960K buff
Swap: 1020116K av,53320K used, 966796K free
392220K cached</p> <p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME
6538 root250 1892 1892596 R 48.3 0.3
6614 root150 1544 1544668 S 30.7 0.3

你可以創(chuàng)建多個(gè)窗口然后通過(guò)“Ctrl-A”“n”切換到下一個(gè)窗口,或者使用“Ctrl-A”“p”返回上一個(gè)窗口。當(dāng)你在其它窗口工作時(shí),其它窗口的每個(gè)程序都會(huì)保持運(yùn)行。
退出screen
有兩種方式退出screen。第一種和登出一個(gè)shell一樣,你可以通過(guò)“Ctrl-A”“K”或者“exit”來(lái)終止一個(gè)窗口。這樣當(dāng)前的窗口會(huì)被關(guān)閉,如果你打開(kāi)了多個(gè)窗口,你就會(huì)直接轉(zhuǎn)到其余中的一個(gè),而如果是僅有的一個(gè)窗口時(shí),你就退出了screen。
另外一種退出screen的方式是分離窗口。這種方式只是簡(jiǎn)單地關(guān)閉了窗口但進(jìn)程仍運(yùn)行著。如果你有確定要長(zhǎng)時(shí)間執(zhí)行的進(jìn)程,還需要關(guān)閉SSH程序時(shí),你便可以使用“Ctrl-A”“d”分離窗口。這會(huì)使你回到shell中。所有的screen窗口都待在那里,你可以稍后重新接管它們。(譯者注:這很像我們實(shí)際中的最小化窗口和程序后臺(tái)運(yùn)行)
接管會(huì)話
假設(shè)你正用著screen花了很長(zhǎng)時(shí)間編譯著一個(gè)程序,突然間你的連接斷開(kāi)了。請(qǐng)不用擔(dān)心,screen會(huì)保存你的編譯進(jìn)度。重新登錄你的操作系統(tǒng)后使用screen列表工具查看有哪些會(huì)話正在運(yùn)行:

復(fù)制代碼
代碼如下:

[root@gigan root]# screen -ls
There are screens on:
31619.ttyp2.gigan (Detached)
4731.ttyp2.gigan (Detached)
2 Sockets in /tmp/screens/S-root.

在這里,我有兩個(gè)不同的screen會(huì)話。要需要重新接管其中一個(gè),使用恢復(fù)窗口的命令:

復(fù)制代碼
代碼如下:

[root@gigan root]#screen -r 31619.ttyp2.gigan

只需要使用 -r 選項(xiàng)再接會(huì)話的名,現(xiàn)在你便可以重新回到剛才的屏幕。令人欣喜的是,你還可以在任何地方重新接管。不論在辦公室還是其它客戶端上,你都可以使用screen來(lái)啟動(dòng)一項(xiàng)工作然后退出。


多窗口
screen,像許多的窗口管理器一樣,能支持多窗口。這個(gè)功能在處理多個(gè)任務(wù)且同時(shí)沒(méi)有打開(kāi)新的會(huì)話時(shí) 很有用。作為一個(gè)系統(tǒng)管理員,我常常要同時(shí)開(kāi)四五個(gè)SSH會(huì)話。在每個(gè)shell下,我可能要處理兩三個(gè)任務(wù)。不使用screen的話,需要15個(gè)SSH 會(huì)話,15次登錄,15個(gè)窗口等等。使用screen,每個(gè)系統(tǒng)都分配到一個(gè)單獨(dú)的會(huì)話中,我通過(guò)screen來(lái)管理系統(tǒng)上不同的作業(yè)。
要打開(kāi)新的窗口,只需要使用“Ctrl-A”“c”。創(chuàng)建的新的窗口會(huì)顯示一個(gè)默認(rèn)的命令提示符。例如,我可以運(yùn)行top命令后再打開(kāi)一個(gè)新的窗口來(lái)做其它的工作。Top繼續(xù)留在那運(yùn)行!可以親身實(shí)驗(yàn)一下,啟動(dòng)screen并運(yùn)行top。(注:為了節(jié)省空間我截?cái)嗔硕鄠€(gè)屏幕。)

啟動(dòng)top

復(fù)制代碼
代碼如下:

Mem:506028K av, 500596K used, 5432K free,
0K shrd,11752K buff
Swap: 1020116K av,53320K used, 966796K free
393660K cached</p> <p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME
6538 root250 1892 1892596 R 49.1 0.3
6614 root160 1544 1544668 S 28.3 0.3
7198 admin 150 1108 1104828 R 5.6 0.2

現(xiàn)在可以通過(guò)“Ctrl-A”“c”來(lái)打開(kāi)一個(gè)新窗口

復(fù)制代碼
代碼如下:

[admin@ensim admin]$
To get back to top, use "Ctrl-A "n"
Mem:506028K av, 500588K used, 5440K free,
0K shrd,11960K buff
Swap: 1020116K av,53320K used, 966796K free
392220K cached</p> <p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME
6538 root250 1892 1892596 R 48.3 0.3
6614 root150 1544 1544668 S 30.7 0.3

你可以創(chuàng)建多個(gè)窗口然后通過(guò)“Ctrl-A”“n”切換到下一個(gè)窗口,或者使用“Ctrl-A”“p”返回上一個(gè)窗口。當(dāng)你在其它窗口工作時(shí),其它窗口的每個(gè)程序都會(huì)保持運(yùn)行。

退出screen
有兩種方式退出screen。第一種和登出一個(gè)shell一樣,你可以通過(guò)“Ctrl-A”“K”或者“exit”來(lái)終止一個(gè)窗口。這樣當(dāng)前的窗口會(huì)被關(guān)閉,如果你打開(kāi)了多個(gè)窗口,你就會(huì)直接轉(zhuǎn)到其余中的一個(gè),而如果是僅有的一個(gè)窗口時(shí),你就退出了screen。
另外一種退出screen的方式是分離窗口。這種方式只是簡(jiǎn)單地關(guān)閉了窗口但進(jìn)程仍運(yùn)行著。如果你有確定要長(zhǎng)時(shí)間執(zhí)行的進(jìn)程,還需要關(guān)閉SSH程序時(shí),你便可以使用“Ctrl-A”“d”分離窗口。這會(huì)使你回到shell中。所有的screen窗口都待在那里,你可以稍后重新接管它們。(譯者注:這很像我們實(shí)際中的最小化窗口和程序后臺(tái)運(yùn)行)
接管會(huì)話
假設(shè)你正用著screen花了很長(zhǎng)時(shí)間編譯著一個(gè)程序,突然間你的連接斷開(kāi)了。請(qǐng)不用擔(dān)心,screen會(huì)保存你的編譯進(jìn)度。重新登錄你的操作系統(tǒng)后使用screen列表工具查看有哪些會(huì)話正在運(yùn)行:

復(fù)制代碼
代碼如下:

[root@gigan root]# screen -ls
There are screens on:
31619.ttyp2.gigan (Detached)
4731.ttyp2.gigan (Detached)
2 Sockets in /tmp/screens/S-root.

在這里,我有兩個(gè)不同的screen會(huì)話。要需要重新接管其中一個(gè),使用恢復(fù)窗口的命令:

復(fù)制代碼
代碼如下:

[root@gigan root]#screen -r 31619.ttyp2.gigan

只需要使用 -r 選項(xiàng)再接會(huì)話的名,現(xiàn)在你便可以重新回到剛才的屏幕。令人欣喜的是,你還可以在任何地方重新接管。不論在辦公室還是其它客戶端上,你都可以使用screen來(lái)啟動(dòng)一項(xiàng)工作然后退出。

美國(guó)穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部