1. 程式人生 > >SSH斷開後重新連線

SSH斷開後重新連線

SSH斷開問題
SSH斷開後如何重新連線可能一致困擾著諸多使用者。使用screen命令可在重新建立SSH時重新開啟之前的連線。
SIGHUP 訊號

讓我們來看看為什麼關掉視窗/斷開連線會使得正在執行的程式死掉。

在Linux/Unix中,有這樣幾個概念:

程序組(process group):一個或多個程序的集合,每一個程序組有唯一一個程序組ID,即程序組長程序的ID。
會話期(session):一個或多個程序組的集合,有唯一一個會話期首程序(session leader)。會話期ID為首程序的ID。
會話期可以有一個單獨的控制終端(controlling terminal)。與控制終端連線的會話期首程序叫做控制程序(controlling process)。當前與終端互動的程序稱為前臺程序組。其餘程序組稱為後臺程序組。

根據POSIX.1定義:

結束通話訊號(SIGHUP)預設的動作是終止程式。
當終端介面檢測到網路連線斷開,將結束通話訊號傳送給控制程序(會話期首程序)。
如果會話期首程序終止,則該訊號傳送到該會話期前臺程序組。
一個程序退出導致一個孤兒程序組中產生時,如果任意一個孤兒程序組程序處於STOP狀態,傳送SIGHUP和SIGCONT訊號到該程序組中所有程序。

1、開啟Screen:
a)screen
b)screen [command]:退出vi將退出該視窗/會話
c)當前screen視窗中鍵入C-a:screen 在該會話內生成一個新的視窗並切換到該視窗
2、退出Screen:exit
C-a w 顯示所有視窗列表
C-a C-a 切換到之前顯示的視窗
C-a c 建立一個新的執行shell的視窗並切換到該視窗
C-a n 切換到下一個視窗
C-a p 切換到前一個視窗(與C-a n相對)
C-a 0..9 切換到視窗0..9
C-a a 傳送 C-a到當前視窗
C-a d 暫時斷開screen會話
C-a k 殺掉當前視窗
C-a [ 進入拷貝/回滾模式
-c file 使用配置檔案file,而不使用預設的$HOME/.screenrc
-d|-D [pid.tty.host] 不開啟新的screen會話,而是斷開其他正在執行的screen會話
-h num 指定歷史回滾緩衝區大小為num行
-list|-ls 列出現有screen會話,格式為pid.tty.host
-d -m 啟動一個開始就處於斷開模式的會話
-r sessionowner/ [pid.tty.host] 重新連線一個斷開的會話。多使用者模式下連線到其他使用者screen會話需要指定sessionowner,需要setuid-root許可權
-S sessionname 建立screen會話時為會話指定一個名字
-v 顯示screen版本資訊
-wipe [match] 同-list,但刪掉那些無法連線的會話
啟動一個初始狀態斷開的screen會話:screen -dmS mygdb gdb execlp_test 連線該會話:screen -r mygdb

Screen 預設情況下無提示當前狀態功能,可做如下設定:
$vi ~/.screenrc
插入:caption always “%{.bW}%-w%{.rW}%n %t%{-}%+w %=%H %Y/%m/%d”
輸入:”:wq”(儲存)
退出screen後再次開啟,即可見到左下角顯示:0 bash 1bash

相關推薦

SSH斷開重新連線

SSH斷開問題 SSH斷開後如何重新連線可能一致困擾著諸多使用者。使用screen命令可在重新建立SSH時重新開啟之前的連線。 SIGHUP 訊號 讓我們來看看為什麼關掉視窗/斷開連線會使得正在執行的程式死掉。 在Linux/Unix中,有這樣幾個概念:

修改ssh無法連線ssh了?

修改ssh埠後無法連線ssh了? [[email protected] ~]$ vi /etc/ssh/sshd_config [[email protected] richard]# vi /etc/ssh/sshd_config #

weblogic的connection pool斷開自動連線

1.weblogic 建立connection pool後經常會斷開,無法自動連線.需要進入weblogic console  ,選擇Connection Pools,選擇相應的連線池名進入後,點選Configuration->"Connections" tab標籤.

解決linux登入總是時間過會就斷開(解決ssh登入閒置時間過長而斷開連線

1.vim /etc/ssh/sshd_config 配置如下圖: 2.systemctl reload sshd.service (針對阿里雲centos7(貌似阿里雲的都是這樣) 其他別的伺服器使用:service sshd reload     兩行命令搞定。 &nb

EclipseSVN斷開連線 怎麼重新連線

轉:http://www.myexception.cn/h/1424044.html Eclipse SVN斷開連線後 怎麼重新連線 首先要確認斷開的方式。具體如下: 1、可重新連線的方式斷開,恢復流程如下: 右鍵工程-〉 2、刪除了SVN元資訊(這種情況,我個人

Blazor-斷開連線重新載入瀏覽器

在大多數情況下,Blazor將與以前相同的線路上重新連線到伺服器。但有時無法重新連線,需要重新載入web瀏覽器才能使網站重新工作。如果伺服器回收應用程式池,則需要手動重新載入頁面在沒有除錯的情況下在IIS Express上開發和執行站點時,使用自動重新載入可以加快開發過程。只需儲存您的檔案並切換到web瀏覽器

ssh連接斷開 shell進程退出

ftp工具 set and ron -s ftp 帳戶 網絡連接 連接斷開 問題描述:當SSH遠程連接到服務器上,然後運行一個服務 ./catalina.sh start,然後把終端開閉(切斷SSH連接)之後,發現該服務中斷,導致網頁無法訪問。 解決方法:使用nohup

Nginx(6) nginx反向代理配置websocket,以及配置websocket連線立即斷開的解決方法

用 proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade"; 配置nginx使之支援websockt的反響代理後,發現websockt連線上就立即斷開了 最後查到原因是proxy_rea

VMware無法識別USB裝置的解決方法 以及 從虛擬機器中斷開USB裝置,使其重新連線到windows主機上

我的虛擬機器上認不到USB裝置,發現是VMware USB Arbitration Service服務沒有啟動,手動啟動VMware USB Arbitration Service服務,再重啟VMware,虛擬機器就能識別出USB裝置了。 具體步驟: 1.點選開始->

用兩個函式基本上解決此世紀難題——PB實現網路重新恢復,系統自動重新連線資料庫

//==================================================================== // 函式: of_ReConnectDB() //-----------------------------------------------------

gitlab 配置ssh key連線一直提示輸入密碼的解決辦法

用yum安裝完gitLab 按照網上的教程進行設定ssh key,在進行專案的clone git clone [email protected]/xxx.git 提示需要輸入密碼,網上找了各種各樣的方法都沒有解決。 這個密碼並不是gitlab賬戶的密碼,而是

CentOS7安裝網路連線自動斷開及共享資料夾問題

網路連線自動斷開 需要將網絡卡設定為啟用狀態。 進入設定網絡卡的檔案 vim /etc/sysconfig/network-scripts/ifcfg-ens33(ifcfg-ens33這個檔案因虛擬機器不同而不同) 將ONBOOT的屬性由no改為ye

網狐 "由於網路問題,您已經與伺服器斷開連線,請重新連線"

發現竟然是伺服器配置ip的問題,一開始因為是在自己的電腦上測試,所以ip全設定成了“127.0.0.1”,然後發給其他人,發現就報“由於網路問題,您已經與伺服器斷開連線,請重新連線” 錯誤,後來發現就是這個ip問題,改成區域網相應的ip就行了

解決kali linux 開啟ssh服務連線不上的問題

今天在手機端裝了NetHunter 想連線PC的kali ,可是怎麼都連不上 綜合網友的經驗: 1.修改sshd_config檔案,命令為:vi /etc/ssh/sshd_config    將#PasswordAuthentication no的註釋去掉,並且將no修改

CentOS 7 SSH修改埠服務連線失敗的解決辦法

新裝了CentOS 7(注意是CentOS 7!!!)系統,發現通過MobaXterm(這個工具也強烈推薦,免費版,而且功能比較多,介面好看)連線之後提示連線失敗,後來經過一番辛苦,終於搞定,解決辦法如下:      首先是修改埠,找到SSH的配置檔案進行修改,vi /et

Linux下SSH遠程連接斷開讓程序繼續運行解決辦法

entos ESS mar 執行命令 創建 apt 新建 示例 div 一、screen安裝   yum install screen #CentOS安裝   sudo apt-get install screen #ubuntu安裝 二、screen常用命令

Mysql 斷開連線之後自動重新連線

解決方案 使用mysql_real_connect連線之後 char reconnectArg = 1; mysql_options(mConn, MYSQL_OPT_RECONNECT, (char *)&reconnectArg);        如何測試 m

關於解決資料庫網路斷開重新連線的嘗試

最近遇到一個比較噁心的問題。有一個專案,在啟動的時候,需要先啟動資料庫,再啟動tomcat,這樣子程式才可以連線上。然而,tomcat和資料庫是分開在兩臺不同的伺服器上,而且管理這個伺服器的人定死了了一套約定,一定是先開啟tomcat所在的伺服器,在開啟資料庫所在的伺服器,

Linux下TCP連線斷開不釋放的解決辦法

問題:在開發測試時發現斷開與伺服器埠後再次連線時拒絕連線。 分析:伺服器上檢視端口占用情況,假設埠為8888。 netstat -anp |grep 8888 發現埠8888埠顯示被佔用(ip為本機ip確定是上次連線)且狀態為ESTABLISHED,然而實際上連線已經斷

解決kali linux 開啟ssh服務連接不上的問題

手機端 linu otl sshd pro 密碼 auth cati nbsp 今天在手機端裝了NetHunter 想連接PC的kali ,可是怎麽都連不上 綜合網友的經驗: 1.修改sshd_config文件,命令為:vi /etc/ssh/sshd_config