Linux - screen命令 - 防止斷網導致異常退出

在遠程管理服務的時候,偶爾會出現斷網導致,腳本或者命令沒執行完就異常退出了。爲了異常斷開導致腳本出現異常,一般都會使用到screen這個工具。

 

特點

1、會話恢復。只要screen本身沒有終止,會話就一直存在。如果出現斷網的情況,可以使用screen -ls查看之前已經開啓的會話,使用screen -r進行恢復即可繼續使用,之前終端。

2、多窗口。在Screen環境下,所有的會話都獨立的運行,並擁有各自的編號、輸入、輸出和窗口緩存。用戶可以通過快捷鍵在不同的窗口下切換,並可以自由的重定向各個窗口的輸入和輸出。

3、窗口共享。在同一臺機器上,可以實現兩個終端限制同樣的界面,screen -x實現共享。

 

 

安裝使用

CentOS:

yum -y install screen

screen [-AmRvx -ls -wipe][-d <作業名稱>][-h <行數>][-r <作業名稱>][-s ][-S <作業名稱>]
-A  將所有的視窗都調整爲目前終端機的大小。
-d <作業名稱>  將指定的screen作業離線。
-h <行數>  指定視窗的緩衝區行數。
-m  即使目前已在作業中的screen作業,仍強制建立新的screen作業。
-r <作業名稱>  恢復離線的screen作業。
-R  先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。
-s  指定建立新視窗時,所要執行的shell。
-S <作業名稱>  指定screen作業的名稱。
-v  顯示版本信息。
-x  恢復之前離線的screen作業。
-ls或--list  顯示目前所有的screen作業。
-wipe  檢查目前所有的screen作業,並刪除已經無法使用的screen作業。

 

典型例子:

ssh 用戶名@10.xx.xx.xx 
screen -help        查看幫助
screen -list        查看有幾個會話,同時會羅列出各個進程ID
screen -r 進程ID     恢復到這個指定進程
screen -d 進程id    結束進程

 

官方示例:

screen -S yourname # 新建一個叫yourname的session
screen -ls #列出當前所有的session
screen -r yourname #回到yourname這個session
screen -d yourname #遠程detach某個session
screen -d -r yourname #結束當前session並回到yourname這個session
screen -wipe #清理已經Dead的會話

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章