Linux screen命令詳解

 Linux下screen主要是管理程序的,用screen管理的進程可以在用戶斷開連接的時候保持程序繼續在服務器上運行。

   第一步:首先肯定是登錄到linux服務器上。敲入screen -ls 命令可以看到服務器上已有的screen。

   用screen -S(s的大寫) screen名稱可以創建一個screen。

   用screen -d 命令可以離開該screen,但不會殺死該screen進程。

   如果用exit命令就是關閉該screen的某個窗口,如果只有一個創建了一個窗口同時也會殺掉這個screen進程。

  

   當我們創建好了一個screen的時候,可以用 screen -x  名稱進入該screen 界面。在這裏就可以選擇執行一個斷開跟服務器連接保持程序在服務器上拋得程序。執行了一個後可以按 ctrl+a+c創建一個新的screen窗體。(推薦一個screen窗口最好執行一個程序這樣有利於程序的關閉)。

   我們創建了多個screen窗口的時候,可以用ctrl+a+n來達到切換效果。

   當我們把程序運行完成後,就用 screen +d 離開這個screen程序,但不殺掉該screen。
   screen -v現實版本信息。
   screen -x恢復之前離線的screen作業。
   screen -wipe 檢查目前所有的screen作業,並刪除已經無法使用的screen.
   screen -r <作業名稱> 恢復離線的screen作業。

  

   screen 實例操作:

   輸入 screen -ls可以看到兩個 screen 程序  app和msg (後面的Detached 代表是離線的如果有後面是 Deaded ...說明該screen已經被殺死)

Last login: Tue Mar 29 08:41:27 2011 from 192.168.122.128
Script started, file is /dev/null
[dcnms@LNServer ~]$ screen -ls
There are screens on:
        17431.app       (Detached)
        10641.msg       (Detached)
2 Sockets in /var/run/screen/S-dcnms.

[dcnms@LNServer ~]$ 

執行 screen -S test 出現如下視圖,這其實就是一個虛擬的screen窗體

[dcnms@LNServer ~]$
 

在該窗體執行 screen -d 命令後 在執行 screen -ls命令

[remote detached]
[dcnms@LNServer ~]$ screen -ls
There are screens on:
        17431.app       (Detached)
        32515.test      (Detached)
        10641.msg       (Detached)
3 Sockets in /var/run/screen/S-dcnms.

[dcnms@LNServer ~]$ 

你會發現其中 remote detached 是退出screen但沒有殺死該screen的標誌。多了一個叫test的screen 進程。在執行

screen -x test可以重新恢復之前離線的test screen作業。

大致說到這裏吧。後續操作就不在贅述了。

發佈了44 篇原創文章 · 獲贊 6 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章