linux系統中強大的screen命令

2021-06-19 05:19:07 字數 1878 閱讀 8222

screen

命令可能很多使用者還沒感受到,下面介紹的就是linux系統中強大的screen命令,具體內容如下所述。

因為做二代測序分析的原因,經常需要執行很長時間的程式。由於時間很長,一直都沒什麼太好的辦法。當有了screen,這一切便都迎刃而解了。敲入命令screen會建立乙個跑著shell的單一視窗,在這裡面,你可以跑你所需要的程式。

使用screen非常簡易.只需在shell鍵入screen,便可開啟乙個screen session。

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

c-an->next,切換到下個window

c-ap->previous,前乙個window

more..

less..c-ac-a->other,在兩個window間切換

c-aw->windows,列出已開啟的windows有那些

c-a0->切換到第0個window

c-a1..9->切換到第1..9個windowc-aa->發出c-a,在emacs,ve,bash,tcsh下可移到行首c-at->time,顯示當前時間,和系統的load

c-ak(大寫)->killwindow,強行關閉當前的windowc-a[->進入copy mode,在copy mode下可以回滾、搜尋、

複製就像用使用vi一樣c-bbackward,pageup

c-fforward,pagedown

h(大寫)high,將游標移至左上角

llow,將游標移至左下角

0移到行首

$行末在普通模式下:

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

用screen-rsessionid可以進sessionid指定的特定的screensession

最後exit退出即可。

--------------------------------

另外大家在起後台服務,或者長時間執行某個指令碼的時候。是不是感覺,互動性很差,

有時,想把結果直接在終端上輸出,又怕不小心關閉了終端導致程序退出?(有些sshd服務還會設定連線超時,自動退出終端)

現在用screen這個指令可以很好的解決跑後台服務的尷尬。

命令其實超簡單的:

直接在終端上輸入screen,這個時候,伺服器端會啟乙個新的終端,但這個終端,與之前的普通終端不一樣,它不隸屬於sshd程序組,這樣,當本地終端關閉後,伺服器終端不會被kill。

當然,優點還不止這麼些,在伺服器終端裡執行任務時,你甚至可以隨時地切換到本地終端做些其他事情,然後,要回去時,再恢復到剛才已經開啟的伺服器終端裡,如果剛才的任務沒有結束,還可以繼續執行任務。

操作步驟:

首先,進入screen-ssessionname終端。(sessionname是為了分辨你的session)

然後按ctrl+a,再按d鍵暫時退出終端。

當要返回時,先檢視剛才的終端程序id,screen-list

或直接screen-rxx(剛才的sessionname)就可以了

當然,當你開了很多個session後,打算關閉幾個session,可以進入到session後,exit一下就可以了.

總的來說,screen是可以完全替代nohup的,並且本身提供了較複雜的功能,但是我認為,剛才那些簡單的功能足以應付日常運作。

總結:

希望本文介紹的linux系統中強大的screen命令能夠對讀者有所幫助,更多

有關linux系統的知識還有待於讀者去探索和學習。

本文出自 「mr_z」 部落格,請務必保留此出處

linux中強大的screen命令

今天發現了乙個 寶貝 就是linux的screen命令,對於遠端登入來說,不僅提供了類似於nohup的功能,而且提供了我非常喜歡的 多個桌面 的功能。平常開乙個putty遠端登入,經常需要在兩個程式之間來回切換,怎麼辦?ctrl z和fg bg?這些太麻煩了。其實我們可以借助screen命令來實現輕...

linux中強大的screen命令

今天發現了乙個 寶貝 就是linux的screen命令,對於遠端登入來說,不僅提供了類似於nohup的功能,而且提供了我非常喜歡的 多個桌面 的功能。平常開乙個putty遠端登入,經常需要在兩個程式之間來回切換,怎麼辦?ctrl z和fg bg?這些太麻煩了。其實我們可以借助screen命令來實現輕...

Linux 程序後台執行的幾種方式(screen)

在linux中,如果要讓程序在後台執行,一般情況下,我們在命令後面加上 即可,實際上,這樣是將命令放入到乙個作業佇列中了 rsync.sh jobs 但是如上方到後台執行的程序,其父程序還是當前終端shell的程序,而一旦父程序退出,則會傳送hangup訊號給所有子程序,子程序收到hangup以後也...