歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

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

linux技巧-使用screen管理你的遠程會話    當我們用ssh或是telent遠程登錄到linux服務器上,運行一些長時間的任務,必須等待任務完成才能離開該界面。在此期間不能關閉窗口或者斷開連接。否則這個任務的進程就會別殺掉,一切半途而廢,需要重新執行該任務。      如何解決這個問題?        首先來理解幾個概念:         進程組:一個或多個進程的集合,每個進程組有唯一一個進程組ID,即進程組長進程的ID         會話期:一個或多個進程組的集合,有唯一一個會話期首進程,會話期ID為首進程的ID         會話期可以有一個單獨的控制終端,與控制終端連接的會話期首進程叫控制進程,當前與終端交互的進程為前台進程。        掛斷信號默認的動作為終止程序       當終端借口檢測到網絡連接斷開,將掛斷信號發送給控制進程       如果會話期首選進程終止,則該信號發送到該會話期前台進程組        一個進程退出導致一個孤兒進程組中產生時,如果任意一個孤兒進程組處於stop狀態,發送SIGHUP和SIGCONT信號到該進程組的所有進程。       因此,當網絡斷開或終端窗口關閉後,控制進程收到SIGHUP信號退出,會導致該會話期內其他進程退出       方法一:nohup                 #nohup  command  &       方法二:screen                creen 是一個可以在多個進程間多路復用一個物理終端的窗口管理器。                使用方法:                    (1),[xuefeng@ku6]# screen                  screen將創建一個執行shell的全屏窗口,你可以執行任意shell,就像在ssh窗口一樣。                   (2),[xuefeng@ku6]#screen vi abc                    screen創建一個執行vi  abc的單獨窗口會話,退出vi 將退出該窗口                   (3),還可以在已有screen會話窗口中創建新的窗口,在當前sceen窗口中鍵入C-a  c,即Ctrl+a,再按下c鍵。重新控制各窗口中運行的程序。                         例如:在一個screen窗口中編輯vi /tmp/abc,之後需要作另外的事情,那麼可以在screen窗口鍵入C-a  d,screen會提示暫時中斷會話。繼續前一個會話,#screen -ls  查看會話編號。重新連接screen -r   編號。
Copyright © Linux教程網 All Rights Reserved