新聞中心
Linux操作系統(tǒng)在網(wǎng)絡(luò)管理中的表現(xiàn)非常出色,因此在企業(yè)、云計算這些領(lǐng)域得到廣泛應(yīng)用。但是,在遠(yuǎn)程連接Linux服務(wù)器時,有時會遇到突然斷開連接的情況,如果不能及時處理,可能會造成不可預(yù)測的后果。本文將介紹幾種處理Linux遠(yuǎn)程斷開連接的方法,旨在幫助廣大管理員更好的管理和維護(hù)服務(wù)器。

創(chuàng)新互聯(lián)公司專注于子長企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。子長網(wǎng)站建設(shè)公司,為子長等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
一、SSH超時斷開連接
SSH連接是Linux系統(tǒng)中最常用的遠(yuǎn)程連接方式,但是經(jīng)常會出現(xiàn)遠(yuǎn)程連接突然斷開的情況,這種現(xiàn)象多半是因為超時問題導(dǎo)致的。針對這種問題,可以通過修改SSH服務(wù)端的配置文件/etc/ssh/sshd_config來解決。
1. 打開/etc/ssh/sshd_config配置文件
vim /etc/ssh/sshd_config
2. 修改ClientAliveInterval和ClientAliveCountMax參數(shù)值
ClientAliveInterval參數(shù)表示客戶端發(fā)送心跳包的間隔時間,單位為秒。如果一段時間內(nèi)沒有收到任何響應(yīng),就會斷開連接。通常情況下,這個值默認(rèn)為0表示不發(fā)送心跳包。修改此參數(shù)值可以讓服務(wù)器檢測到客戶端是否在活動狀態(tài),防止連接因為長時間沒有活動而被主動斷開。
ClientAliveCountMax參數(shù)表示SSH服務(wù)器發(fā)送心跳消息的次數(shù)。如果次數(shù)達(dá)到設(shè)定值就會主動斷開連接。如果你只修改了ClientAliveInterval值,而沒有修改ClientAliveCountMax值,那么就會出現(xiàn)SSH連接雖然沒超時,但是連接已經(jīng)被斷開了的情況。
3.重啟SSH服務(wù)
修改配置文件后,需要重新啟動SSH服務(wù)使之生效。
systemctl restart sshd
二、使用Tmux斷開連接
Tmux是一個終端多會話管理工具,它可以在一個終端窗口或多個終端窗口中創(chuàng)建多個會話。如果在tmux會話中,連接突然中斷了,你可以用tmux中的detach命令來讓你的終端會話在后臺運行,以避免中斷。
1. 使用Tmux創(chuàng)建一個終端窗口
在Linux中使用tmux命令創(chuàng)建一個新的終端窗口,非常簡單:
tmux new -s
也可以使用以下的命令,指定一個會話名字:
tmux new-session -s
2. 分離tmux會話
當(dāng)您的tmux會話在運行時斷開連接時,您需要分離這個會話以保持其在后臺運行。可以按Ctrl+b和d鍵組合分離tmux會話。
3. 重新連接到tmux會話
當(dāng)您的tmux會話分離時,您可以使用以下命令重新連接會話:
tmux attach-session -t
三、使用Screen斷開連接
Screen與tmux有些相似,它也是一個終端管理工具,可以將多個命令行會話連接在一起,從而將它們作為單個程序運行。如果您在使用Screen時,連接突然中斷了,您仍然可以重新連接到它。
1. 使用Screen創(chuàng)建一個新的終端窗口
在Linux中使用screen命令創(chuàng)建一個新的終端窗口,非常簡單:
screen -S
2. 退出Screen會話
當(dāng)您的Screen會話運行時,您可以鍵入Ctrl-a和d鍵組合來分離終端,并在后臺運行。
3. 重新連接到Screen會話
當(dāng)您的Screen會話分離時,您仍然可以重新連接到它。使用以下命令恢復(fù)之前的Screen會話:
screen -r
四、使用nohup持續(xù)運行命令
如果你需要在Linux服務(wù)器上長時間運行一個命令,例如備份或遷移文件,可以使用nohup來實現(xiàn),nohup命令的作用是使命令進(jìn)程長時間在后臺運行,即使關(guān)閉了終端也不會終止命令。
1. 使用nohup命令運行一個命令
例如,如果您想在Linux服務(wù)器上運行一個腳本,您可以使用以下命令:
nohup ./backup.sh &
nohup命令會將執(zhí)行的內(nèi)容發(fā)送到文件nohup.out中,保留后臺運行狀態(tài)。
2. 使用”jobs”命令查看運行狀態(tài)
使用”jobs”命令可以查看當(dāng)前運行的進(jìn)程的狀態(tài)。如果nohup命令創(chuàng)建的進(jìn)程正在運行,你就可以直接在后臺操作了。
3. 使用”disown”命令長期運行命令
如果您需要使nohup進(jìn)程在后臺執(zhí)行并且嘗試關(guān)閉shell(如通過SSH遠(yuǎn)程終端)時不會被關(guān)閉,您需要使用disown &命令,這會話解除nohup命令與shell的聯(lián)系使它可以獨立執(zhí)行。
nohup ./backup.sh &
disown %
相關(guān)問題拓展閱讀:
- linux 遠(yuǎn)程主機(jī)后臺運行任務(wù) 掛起腳本
linux 遠(yuǎn)程主機(jī)后臺運行任務(wù) 掛起腳本
背景
:工作需要,需要遠(yuǎn)程控制主機(jī)使其斷開Xshell后也能一直運行。
關(guān)鍵字
:& ,nohup,腳本掛起。
在應(yīng)用Unix/Linux時,我們一般想讓某個程序在后臺運行,于是我們將常會用 & 在程序結(jié)尾來讓程序自動運行。
鍵入Ctrl + C,發(fā)出SIGINT信號陵世,程序會繼續(xù)運行
方法一缺斗、輸入命令:jobs
方法二:輸入命令:ps
fg、bg、jobs、&、nohup、ctrl+z、ctrl+c
命令
加在一個命令的最后,可以把這個命令放到后臺執(zhí)行,如
可以將一個正在前臺執(zhí)行的命令放到后臺,并且處于暫停狀態(tài)。
查看當(dāng)前有多少在后臺運行的命令
jobs -l選項可顯示所有任務(wù)的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務(wù)被終止了(kill),shell 從當(dāng)前的shell環(huán)境已知的列表中刪除任務(wù)的進(jìn)程標(biāo)識。
將后臺中的命令調(diào)至前臺繼續(xù)運行。如果后臺中有多個命令,可以用fg %jobnumber(是命令編號,不是進(jìn)程號)將選中的命令調(diào)出。
將一個在后臺暫停的命令,變成在后臺繼續(xù)執(zhí)行。如果后臺中有多個命令,可以用bg %jobnumber將選中的命令調(diào)出。
法子1:通過jobs命令查看job號(假設(shè)為num),然后執(zhí)行kill %num
法子2:通過ps命令查看job的進(jìn)程號(PID,假設(shè)為pid),然后執(zhí)行kill pid
前臺進(jìn)程的終止:Ctrl+c
如果讓程序始終在后臺執(zhí)行,即使關(guān)閉當(dāng)前的終端也執(zhí)行(之前的&做不到),這時候需伏汪磨要nohup。該命令可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運行相應(yīng)的進(jìn)程。
關(guān)閉中斷后,在另一個終端jobs已經(jīng)無法看到后臺跑得程序了,此時利用ps(進(jìn)程查看命令)
如上所示:
nohup 和 & 組合了后臺運行程序。
可以輸出到 out.log保存程序輸出,也可以輸出到/dev/null 即空設(shè)備,不保存輸出。
上面三種方式無論在nohup.out 或test.out都看不到數(shù)據(jù)結(jié)果,這是因為python執(zhí)行有緩存輸出
解決
新的接口接入查看程序
使用&后臺運行程序:
結(jié)果會輸出到終端
使用Ctrl + C發(fā)送SIGINT信號,
程序免疫
關(guān)閉session發(fā)送SIGHUP信號,
程序關(guān)閉
使用nohup運行程序:
結(jié)果默認(rèn)會輸出到nohup.out
使用Ctrl + C發(fā)送SIGINT信號,
程序關(guān)閉
關(guān)閉session發(fā)送SIGHUP信號,
程序免疫
平日線上經(jīng)常使用nohup和&配合來啟動程序:
同時免疫SIGINT和SIGHUP信號
同時,還有一個更佳實踐:
不要將信息輸出到終端標(biāo)準(zhǔn)輸出,標(biāo)準(zhǔn)錯誤輸出,而要用日志組件將信息記錄到日志里
nohup和&究竟有啥區(qū)別
關(guān)于linux 遠(yuǎn)程斷開的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
文章標(biāo)題:LINUX遠(yuǎn)程斷開連接處理方法分享(linux遠(yuǎn)程斷開)
本文地址:http://m.5511xx.com/article/dhdcsie.html


咨詢
建站咨詢
