使用Screen管理遠端會話

2022-04-10 03:17:21 字數 1847 閱讀 5570

​ 在本地開發時,經常需要使用遠端連線到linux伺服器,一開始我自己都是有幾個遠端就開幾個ssh視窗,這種方法很原始很直接,但每次都受夠了密碼輸入,即使用了ssh免密碼登入,也會覺得每次輸入ssh的命令一點都不快速,況且況且視窗開多了,也會很混亂,不易管理,這種情況,linux上的工具也有很多,今天就學習一下screen工具。

​ 在介紹screen工具時,先討論一下,為什麼連線伺服器後,當首席執行官時間的任務時,我們關閉遠端連線視窗,這個任務就被殺掉了呢?

​ 在linux/unix中,有以下幾個概念:

​工具posix.1定義:

因此當網路斷開或視窗關閉時,控制程序收到sighup訊號退出,會導致該會話期內其他程序退出。

開啟兩個ssh終端視窗,在第乙個中執行ping命令:

再另乙個終端視窗中,找到ping的程序id為22132,其父程序id為21803,即登入zsh:

使用ps -xj可以看到,登入zsh(pid 21803)和ping在同一會話期,zsh為會話期首程序,所以程序組pgid為21803,ping所在的程序組pgid為22132,為前台程序組。

這時,我們關閉第乙個ssh遠端視窗,在另乙個視窗中看到ping程序被殺掉了:

這就發現,當我們執行乙個耗時的任務時,如果關閉了這個視窗,這個任務程序也就被殺掉了,並不是我們所期望的那樣在後台繼續執行。

​ 現在,也不需要多說screen到底是幹什麼的了,直接說怎麼使用吧。

直接執行screen命令

screen將建立乙個執行shell的全屏視窗,可以看到視窗的title已經提示處於screen程式中,在這個視窗中你可以隨便執行命令,如果要退出輸入exit命令。

如果你想新開乙個視窗執行另乙個任務,可以執行:

// 方法1

按鍵盤ctrl+a +c, 會心開啟乙個screen視窗

​// 方法2

screen 需要執行的任務的命令,比如:

多個screen視窗切換

方法1

鍵盤ctrl+a +[0..9]

​方法2

鍵盤ctrl+a +n, 下乙個screen視窗

鍵盤ctrl+a +p, 上乙個screen視窗

screen是乙個可以在多個程序之間多路復用乙個物理終端的視窗管理器,screen中還有會話的概念,使用者可以在乙個screen會話中建立多個screen視窗,而在每乙個screen視窗中就像操作乙個真實的ssh連線視窗那樣。

參考:

screen 管理linux遠端會話

簡單來說,screen是乙個可以在多個程序之間多路復用乙個物理終端的視窗管理器。screen中有會話的概念,使用者可以在乙個screen會話中建立多個screen視窗,在每乙個screen視窗中就像操作乙個真實的telnet ssh連線視窗那樣。在screen中建立乙個新的視窗有這樣幾種方式 1 直...

SSH遠端會話管理工具 screen使用教程

剛接觸linux時最怕的就是ssh遠端登入linux vps編譯安裝程式時 比如安裝lnmp 網路突然斷開,或者其他情況導致不得不與遠端ssh伺服器鏈結斷開,遠端執行的命令也被迫停止,只能重新連線,重新執行。相信現在有些vpser也遇到過這個問題,今天就給vpser們介紹一款遠端會話管理工具 scr...

SSH遠端會話管理工具 screen使用教程

經常我們通過securecrt puty這樣的工具連上伺服器進行命令操作,但是安裝的過程中很可能會出現斷網或者是不小心關閉視窗,造成安裝中斷,為了防止這種現象,接下來介紹screen命令的使用。一 screen命令是什麼?二 如何安裝screen命令?三 screen命令使用方法?1 常用的使用方法...