91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統中的screen命令的用法介紹

發布時間:2021-08-05 22:46:14 來源:億速云 閱讀:125 作者:chen 欄目:系統運維

這篇文章主要講解了“Linux系統中的screen命令的用法介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux系統中的screen命令的用法介紹”吧!

作為linux服務器管理員,經常要使用ssh登陸到遠程linux機器上做一些耗時的操作。


也許你遇到過使用telnet或SSH遠程登錄linux,運行一些程序。如果這些程序需要運行很長時間(幾個小時),而程序運行過程中出現網絡故障,或者客戶機故障,這時候客戶機與遠程服務器的鏈接將終端,并且遠程服務器沒有正常結束的命令將被迫終止。


又比如你SSH到主機上后,開始批量的scp命令,如果這個ssh線程斷線了,scp進程就中斷了。在遠程服務器上正在運行某些耗時的作業,但是工作還沒做完快要下班了,退出的話就會中斷操作了,如何才好呢?


我們利用screen命令可以很好的解決這個問題。實現在斷開SSH的情況下,在服務器上繼續執行程序。


那什么是screen命令?


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


Screen功能說明:


簡單來說,Screen是一個可以在多個進程之間多路復用一個物理終端的窗口管理器,這意味著你能夠使用一個單一的終端窗口運行多終端的應用。Screen中有會話的概念,用戶可以在一個screen會話中創建多個screen窗口,在每一個screen窗口中就像操作一個真實的telnet/SSH連接窗口那樣。


Screen命令語法:


screen [-AmRvx -ls -wipe][-d <作業名稱>][-h <行數>][-r <作業名稱>][-s ][-S <作業名稱>]


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


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


Screen命令的常規用法:


screen -d -r:連接一個screen進程,如果該進程是attached,就先踢掉遠端用戶再連接。


screen -D -r:連接一個screen進程,如果該進程是attached,就先踢掉遠端用戶并讓他logout再連接


screen -ls或者-list:顯示存在的screen進程,常用命令


screen -m:如果在一個Screen進程里,用快捷鍵crtl+a c或者直接打screen可以創建一個新窗口,screen -m可以新建一個screen進程。


screen -dm:新建一個screen,并默認是detached模式,也就是建好之后不會連上去。


screen -p number or name:預先選擇一個窗口。


Screen實現后臺運行程序的簡單步驟:


1> 要進行某項操作時,先使用命令創建一個Screen:

代碼如下:


[linux@user~]$ screen -S test1

2>接著就可以在里面進行操作了,如果你的任務還沒完成就要走開的話,使用命令保留Screen:

代碼如下:


[linux@user~]$ Ctrl+a+d                    #按Ctrl+a,然后再按d即可保留Screen
[detached]                                 #這時會顯示出這個提示,說明已經保留好Screen了

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

代碼如下:


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

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

代碼如下:


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

恢復Screen,使用命令:

代碼如下:


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

Screen命令中用到的快捷鍵


Ctrl+a c :創建窗口


Ctrl+a w :窗口列表


Ctrl+a n :下一個窗口


Ctrl+a p :上一個窗口


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


Ctrl+a K(大寫) :關閉當前窗口,并且切換到下一個窗口(當退出最后一個窗口時,該終端自動終止,并且退回到原始shell狀態)


exit :關閉當前窗口,并且切換到下一個窗口(當退出最后一個窗口時,該終端自動終止,并且退回到原始shell狀態)


Ctrl+a d :退出當前終端,返回加載screen前的shell命令狀態

多窗口
screen,像許多的窗口管理器一樣,能支持多窗口。這個功能在處理多個任務且同時沒有打開新的會話時 很有用。作為一個系統管理員,我常常要同時開四五個SSH會話。在每個shell下,我可能要處理兩三個任務。不使用screen的話,需要15個SSH 會話,15次登錄,15個窗口等等。使用screen,每個系統都分配到一個單獨的會話中,我通過screen來管理系統上不同的作業。
要打開新的窗口,只需要使用“Ctrl-A”“c”。創建的新的窗口會顯示一個默認的命令提示符。例如,我可以運行top命令后再打開一個新的窗口來做其它的工作。Top繼續留在那運行!可以親身實驗一下,啟動screen并運行top。(注:為了節省空間我截斷了多個屏幕。)
啟動top

代碼如下:


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 root      25   0  1892 1892   596 R    49.1  0.3
6614 root      16   0  1544 1544   668 S    28.3  0.3
7198 admin     15   0  1108 1104   828 R     5.6  0.2


現在可以通過“Ctrl-A”“c”來打開一個新窗口

代碼如下:


[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 root      25   0  1892 1892   596 R    48.3  0.3
6614 root      15   0  1544 1544   668 S    30.7  0.3


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

代碼如下:


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


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

代碼如下:


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


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


多窗口
screen,像許多的窗口管理器一樣,能支持多窗口。這個功能在處理多個任務且同時沒有打開新的會話時 很有用。作為一個系統管理員,我常常要同時開四五個SSH會話。在每個shell下,我可能要處理兩三個任務。不使用screen的話,需要15個SSH 會話,15次登錄,15個窗口等等。使用screen,每個系統都分配到一個單獨的會話中,我通過screen來管理系統上不同的作業。
要打開新的窗口,只需要使用“Ctrl-A”“c”。創建的新的窗口會顯示一個默認的命令提示符。例如,我可以運行top命令后再打開一個新的窗口來做其它的工作。Top繼續留在那運行!可以親身實驗一下,啟動screen并運行top。(注:為了節省空間我截斷了多個屏幕。)

啟動top

代碼如下:


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 root      25   0  1892 1892   596 R    49.1  0.3
6614 root      16   0  1544 1544   668 S    28.3  0.3
7198 admin     15   0  1108 1104   828 R     5.6  0.2


現在可以通過“Ctrl-A”“c”來打開一個新窗口

代碼如下:


[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 root      25   0  1892 1892   596 R    48.3  0.3
6614 root      15   0  1544 1544   668 S    30.7  0.3


你可以創建多個窗口然后通過“Ctrl-A”“n”切換到下一個窗口,或者使用“Ctrl-A”“p”返回上一個窗口。當你在其它窗口工作時,其它窗口的每個程序都會保持運行。

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

代碼如下:


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


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

代碼如下:


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


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

感謝各位的閱讀,以上就是“Linux系統中的screen命令的用法介紹”的內容了,經過本文的學習后,相信大家對Linux系統中的screen命令的用法介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

二手房| 怀仁县| 永善县| 绍兴市| 平罗县| 恩平市| 平潭县| 精河县| 新蔡县| 中超| 青岛市| 阿图什市| 仪征市| 丹棱县| 全南县| 保康县| 永昌县| 大田县| 平和县| 井冈山市| 亚东县| 定日县| 永善县| 荣昌县| 会东县| 天柱县| 余江县| 凤台县| 乌兰浩特市| 腾冲县| 丰顺县| 呼玛县| 贵德县| 金溪县| 阳泉市| 双峰县| 牡丹江市| 瑞丽市| 藁城市| 武宣县| 城步|