【轉】保持和阿里雲等服務器的長效連接

我們在購買了虛擬服務器後通常會使用xshell或者putty等來連接我們的虛擬服務器,但有時候,因爲網絡等各方面的原因,我們可能會斷開和虛擬服務器的連接,而當我們再次連接我們的虛擬服務器時,我們發現上一次命令等全部失效了(相當於被強制重啓了),如果這發生在編譯系統核心的時候,那就是重裝系統的命了,幸運的是,有這麼一款工具能使我們長效連接服務器——screen,轉載的這篇文章簡單通俗地講解了如何使用screen的實用命令,侵權刪。

原文地址:https://www.jianshu.com/p/e91746ef4058

大家在初次接觸linux時,會發現linux操作和windows操作太不相同的,windows都是圖形操作界面,而linux一般是命令行操作,當然,linux也有圖形操作界面,但是我們在將vps作爲網絡生產環境時,安裝圖形界面不光費時費力,更費vps那少的可憐的系統資源,所以,還是命令行吧,可是命令行只有一個,linux下編譯命令一般執行也比較慢,如編譯軍哥的lnmp,少則半小時二十分鐘,多則三小時五小時,一旦斷開,正在編譯的軟件也就完了,這很不符合偶們的折騰精神,難道就木有個解決方法?當然有,那就是screen。
一、神馬是screen?
Screen是一個可以在多個進程之間多路複用一個物理終端的全屏窗口管理器。Screen中有會話的概念,用戶可以在一個會話中創建多個screen窗口,在每一個screen窗口中就像操作一個真實的telnet/SSH連接窗口那樣。
通俗的講,screen命令用於新建一個或多個“命令行窗口”,在新建的這“窗口”中,可以執行命令;每個“窗口”都是獨立並行的。
二、安裝screen
要想使用screen,當然得有screen了,不是所有的linux系統都安裝了screen,如果木有安裝,可以使用一下命令安裝:
centos:

yum install screen

debian:

apt-get install screen

安裝也就分分鐘的事情,中途需要輸入y並按回車執行;
三、使用screen
1.創建會話:最簡單的就是直接輸入screen回車,一個新會話就完成了(debian下會有提示,再按一次回車就可以了),但偶還是推薦用下面的命令來創建會話:

screen -S php

上面命令的意思就是新創建一個名爲php的會話,這時你可以繼續輸入其它命令,如編譯php,費時很長,不用管它,喝杯茶先;
2.離開會話,按住鍵盤上的ctrl,然後依次按a和d,好了,又回到主會話了,這時你可以繼續創建其它會話或者執行其它命令,對我們創建的會話內容沒有任何影響,你甚至可以退出會話;
3.恢復創建的會話:如果還記得會話名稱,可以輸入命令:

screen -r php

上面命令的意思就是恢復名爲php的會話,如果你只創建了一個會話,直接如入命令

screen -r

就可以恢復了,如果不記得會話名稱或者我直接輸入screen創建的會話,怎麼辦呢,那就要用到下面的命令;
4.查看已經創建的會話:

screen -ls

上面的命令的意思就是查看本機已經創建的會話,可以查看會話的名稱和id,恢復時可以使用id代替名稱;
5.有時在恢復screen時會出現There is no screen to be resumed matching ****,遇到這種情況咋辦呢?輸入命令

screen -d ****

然後再使用恢復命令恢復就ok了
6.退出screen,使用screen會耗費一定的系統資源,所以當screen中的命令執行完畢之後,最好退出screen,直接輸入命令

exit

就可以退出了。
7.其它命令

Ctrl + a,d #暫離當前會話
Ctrl + a,c #在當前screen會話中創建一個子會話
Ctrl + a,w #子會話列表
Ctrl + a,p #上一個子會話
Ctrl + a,n #下一個子會話
Ctrl + a,0-9 #在第0窗口至第9子會話間切換

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