screen(nohup you script &)

來源:互聯網
上載者:User

在要執行指令碼的目標主機上:

root@pts/0 # screen -list
There is a screen on:
    16261.dat    (Detached)
1 Socket in /var/run/screen/S-root.

 

恢複之前通過screen -S dat產生的終端:

root@pts/0 # screen -r dat

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

轉自http://www.iteye.com/topic/169987

大家在起後台服務,或者長時間執行某個指令碼的時候。

是不是感覺,互動性很差,

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

 

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

 

命令其實超簡單的:

 

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

 

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

 

操作步驟:

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

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

當要返回時, 先查看剛才的終端進程ID, screen -list

或直接

 screen -r xx (剛才的sessionname)就可以了

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

 

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

如果對該指令感興趣的朋友,推薦一篇文章:

 

http://www.ibm.com/developerworks/cn/linux/l-cn-screen/

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.