後臺執行好工具--screen

關鍵字: 後臺 , screen

 

1.敲入命令screen會創建一個跑着shell的單一窗口,在這裏面你可以跑你所需要的程序

 2.新建後臺的screen,並帶有名字,screen -dmS XXXX,然後Ctrl+a d退出剛創建的窗口(回到進入screen前的環境),然後再敲入命令screen創建新的終端窗口,就這樣你可以建立多個有shell的窗口(這些窗口裏都可以跑你自己的應用),這樣即使你退出遠程管理窗口(進入screen的環境),你的screen窗間的窗口都不會關閉,裏面跑得應用自然也不會當掉

  3.用screen -ls可以看所有的screen sessions

  4.用screen -r sessionid可以進sessionid指定的特定的screen session(或者screen -r  會話名)

  5.screen session不再使用的時候,screen -r sessionid進去,exit退出即可

  6.在每個screen session 下,所有命令都以 ctrl+a(C-a) 開始。現在讓我來簡單介紹基本的命令C-a c -> Create,開啓新的 window

C-a n -> Next,切換到下個 window

C-a p -> Previous,前一個 window

C-a C-a -> Other,在兩個 window 間切換

C-a w -> Windows,列出已開啓的 windows 有那些

C-a 0 -> 切換到第 0 個 window

C-a 1..9 -> 切換到第 1..9 個windowC-a a -> 發出 C-a,在 emacs, ve, bash, tcsh 下可移到行首C-a t -> Time,顯示當前時間,和系統的 load


下文轉自:http://www.9usb.net/201002/linux-screen-mingling.html 
什麼是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的配置文件’.screenrc’.

-d [pid.tty.host]  斷開screen進程(使用該命令時,screen的狀態一定要是Attached,也就是說有用戶連在screen裏)。一般進程的名字是以pid.tty.host這種形式表示(用screen -list命令可以看出狀態)。

-D [pid.tty.host]  與-d命令實現一樣的功能,區別就是如果執行成功,會踢掉原來在screen裏的用戶並讓他logout。

-h <行數>       指定視窗的緩衝區行數。

-ls或–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 -lsThere is a screen on:9649.test1   (Detached)

恢復Screen,使用命令:[linux@user~]$ screen -r test1 (or 9649)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章