技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

linux技巧之使用screen管理你的遠程會話

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2018-12-07 12:18┆點擊:

  linux技巧-使用screen管理你的遠程會話

  當(dāng)我們用ssh或是telent遠程登錄到linux服務(wù)器上,運行一些長時間的任務(wù),必須等待任務(wù)完成才能離開該界面。在此期間不能關(guān)閉窗口或者斷開連接。否則這個任務(wù)的進程就會別殺掉,一切半途而廢,需要重新執(zhí)行該任務(wù)。

  如何解決這個問題?

  首先來理解幾個概念:

  進程組:一個或多個進程的集合,每個進程組有唯一一個進程組ID,即進程組長進程的ID

  會話期:一個或多個進程組的集合,有唯一一個會話期首進程,會話期ID為首進程的ID

  會話期可以有一個單獨的控制終端,與控制終端連接的會話期首進程叫控制進程,當(dāng)前與終端交互的進程為前臺進程。

  掛斷信號默認的動作為終止程序

  當(dāng)終端借口檢測到網(wǎng)絡(luò)連接斷開,將掛斷信號發(fā)送給控制進程

  如果會話期首選進程終止,則該信號發(fā)送到該會話期前臺進程組

  一個進程退出導(dǎo)致一個孤兒進程組中產(chǎn)生時,如果任意一個孤兒進程組處于stop狀態(tài),發(fā)送SIGHUP和SIGCONT信號到該進程組的所有進程。

  因此,當(dāng)網(wǎng)絡(luò)斷開或終端窗口關(guān)閉后,控制進程收到SIGHUP信號退出,會導(dǎo)致該會話期內(nèi)其他進程退出

  方法一:nohup

  #nohup command &

  方法二:screen

  creen 是一個可以在多個進程間多路復(fù)用一個物理終端的窗口管理器。

  使用方法:

  (1),[xuefeng@ku6]# screen

  screen將創(chuàng)建一個執(zhí)行shell的全屏窗口,你可以執(zhí)行任意shell,就像在ssh窗口一樣。

  (2),[xuefeng@ku6]#screen vi abc

  screen創(chuàng)建一個執(zhí)行vi abc的單獨窗口會話,退出vi 將退出該窗口

  (3),還可以在已有screen會話窗口中創(chuàng)建新的窗口,在當(dāng)前sceen窗口中鍵入C-a c,即Ctrl+a,再按下c鍵。重新控制各窗口中運行的程序。

  例如:在一個screen窗口中編輯vi /tmp/abc,之后需要作另外的事情,那么可以在screen窗口鍵入C-a d,screen會提示暫時中斷會話。繼續(xù)前一個會話,#screen -ls 查看會話編號。重新連接screen -r 編號。