問題描述:
????????使用【Xshell】軟件的時候,我們通常會把程序掛在【Xshell】主頁上,這樣可以隨時隨地的看到深度學習代碼訓練的進程。但是,把自己的程序掛上一天,或者一段時間不操作【Xshell】,就會出現(xiàn)這個問題。然后,你再次連接還可以連接,就是你的程序得重新跑了。
?????????然而,當你,再次連接后,可能過上三五分鐘,又出現(xiàn)這個提示并且斷開了,是不是很煩?
????????下面的方法,可能幫助你!一起看看吧
原因分析:
使用【Xshell】軟件,用ssh連接是,如果你連接過于頻繁或者連接之后長時間不操作,都會出現(xiàn)這個報錯
問題解決:
三種解決方案,三種不同的思想。我們一起嘗試!
①修改配置文件
????????在Linux服務器終端上輸入如下命令
1.使用管理員權(quán)限進入修改配置文件
sudo vim /etc/ssh/sshd_config
?????????這里可能會讓你輸入密碼。輸入你的管理員密碼即可。
2.修改某些參數(shù)。
#ClientAlivenInterval 修改成【60】
#ClientAlivenCountMax修改成【3】
具體操作如下:
????????使用管理員權(quán)限進入修改配置文件進入頁面之后,按【i】進入編輯狀態(tài)。進入成功后左下角的標志為下:
????????然后找到這兩個位置,修改成上面要求的參數(shù):
?參數(shù)解釋:
【設(shè)置SSH空閑超時退出時間,可降低未授權(quán)用戶訪問其他用戶ssh會話的風險】
ClientAliveInterval 60 :每隔60秒發(fā)送一次請求給client,然后client響應,從而保持連接。
ClientAliveCountMax 3 :發(fā)出請求后,客戶端沒有響應的次數(shù)達到3次,就自動斷開連接,正常情況下,不會不響應。
????????然后,按鍵盤左上角的【Esc】退出編輯,成功退出后,左下角會出現(xiàn)這個頁面。
????????再依次按英文的【:】【w】[【q】【!】,效果如下。最后按個回車保存就可以了。
????????按完回車之后,出現(xiàn)這個頁面:
????????就代表,編輯成功了!
3.重啟sshd服務?
systemctl restart sshd
?②不修改配置文件,直接在SSH遠程連接的時候添加參數(shù)
????????不修改配置文件,直接在SSH遠程連接時命令加參數(shù),即ssh -o ServerAliveinterval=60 root@'遠程連接IP地址'
,這樣就只會在當前需要的遠程連接中保持持久的連接, 并不是所有的遠程連接都需要保持持久連接的!
[root@Jenkins ~]# ssh -o ServerAliveinterval=60 root@192.168.1.33
Last login: Wed May 18 14:53:19 2022 from 192.168.1.30[root@Web1 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 1500
? ? ? ? inet 192.168.1.33 ?netmask 255.255.255.0 ?broadcast 192.168.1.255
? ? ? ? inet6 240e:39a:39b:cd10:20c:29ff:fec1:8e32 ?prefixlen 64 ?scopeid 0x0<global>
? ? ? ? inet6 fe80::20c:29ff:fec1:8e32 ?prefixlen 64 ?scopeid 0x20<link>
? ? ? ? ether 00:0c:29:c1:8e:32 ?txqueuelen 1000 ?(Ethernet)
? ? ? ? RX packets 756 ?bytes 66547 (64.9 KiB)
? ? ? ? RX errors 0 ?dropped 112 ?overruns 0 ?frame 0
? ? ? ? TX packets 549 ?bytes 52204 (50.9 KiB)
? ? ? ? TX errors 0 ?dropped 0 overruns 0 ?carrier 0 ?collisions 0
?③使用nohup后臺運行深度程序
????????nohup的意思就是:永久執(zhí)行,是no hang up的縮寫,指不間斷,不掛斷。運行一個進程的時候,不想讓其在你退出賬號時關(guān)閉,即可用nohup。nohup用于不掛斷地運行命令。nohup在不規(guī)定的情況下,所以輸出內(nèi)容會到nohup.out中。
nohup運行命令可以使命令永久的執(zhí)行下去,和用戶終端沒有關(guān)系,例如我們斷開SSH連接都不會影響運行,注意了nohup沒有后臺運行的意思;&是指在后臺運行,但當用戶推出(掛起)的時候,命令自動也跟著退出。?
???????在跑時間比較長的程序,或者打印信息比較多,或者網(wǎng)絡(luò)不穩(wěn)定時,可以采用后臺運行程序,然后把打印信息保存在文件中,等程序結(jié)束后再檢查日志,
?????????一般在終端運行自己的代碼指令時候,加上【nohup】,具體格式用這個就夠了
nohup python A.py >> /home/my.log 2>&1 &
????????其中,A.py是自己要運行的命令;?/home/my.log是自己要存儲代碼運行的日志文件,即你在前臺看到什么都會給你寫進去這個log文件。
? ? ? ? ?
? ? ? ??其中,
1. 最后一個“&”表示后臺運行程序
2. “nohup” 表示程序不被掛起
3. “python”表示執(zhí)行python代碼
4. “-u”表示不啟用緩存,實時輸出打印信息到日志文件(如果不加-u,則會導致日志文件不會實時刷新代碼中的print函數(shù)的信息)
5. “test.py”表示python的源代碼文件
6. “test.log”表示輸出的日志文件
7. “>”表示將打印信息重定向到日志文件
8. “2>&1”表示將標準錯誤輸出轉(zhuǎn)變化標準輸出,可以將錯誤信息也輸出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
????????輸入好之后,按回車,輸入exit命令退出終端,關(guān)閉shell?!咀⒁狻坎荒苤苯油顺鼋K端
????????查看后臺運行程序及關(guān)閉
????????有兩個命令可以用,jobs和ps,區(qū)別是jobs用于查看當前終端后臺運行的任務,換了終端就看不到了。而ps命令用于查看瞬間進程的動態(tài),可以看到別的終端運行的后臺進程。
????????jobs命令只看當前終端生效的,關(guān)閉終端后,在另一個終端jobs已經(jīng)無法看到后臺跑得程序了。也就是說如果你的網(wǎng)或者你關(guān)閉鏈接時,當你再次進入時用jobs -l看不到之前運行的程序運行進程。
其他問題整理:?
1.解決SSH登陸緩慢問題
????????(1)編輯/etc/ssh/sshd_config
配置文件,將UseDNS修改為no,最好是在尾部添加一行為:UseDNS no
? ? ? ? (2)關(guān)閉GSSAPI認證:GSSAPIAuthentication no
,修改完成后記得重啟ssh服務。
[root@Jenkins ~]# vim /etc/ssh/sshd_config
...
79 GSSAPIAuthentication yes
...
115 #UseDNS yes
...
?2.解決SSH無法登陸問題
?????????一般情況下當ssh服務遠程連接不上時,后臺登陸服務器,先確認服務器網(wǎng)絡(luò)有無問題,查一下ssh服務有沒有正常運行,防火墻是否放行了ssh端口,檢查sshd_config文件配置(注意端口號、是否有地址綁定、是否允許root登陸等);
????????如果都沒問題,再檢查下/etc/hosts.deny 和 /etc/hosts.allow兩個配置文件是否有限制登陸。
????????/etc/hosts.allow和/etc/hosts.deny兩個配置文件:
????????有時候服務器上會用這兩個文件限制登陸的IP,通常是在/etc/hosts.deny文件中里面先deny all,然后在/etc/hosts.allow文件中添加需要登陸的IP地址;例如:
????????先禁止所有:
[root@Jenkins ~]# cat /etc/hosts.deny
sshd: ALL : deny
????????再放行允許連接訪問的IP地址:?
[root@Jenkins ~]# cat /etc/hosts.allow
sshd:10.10.10.* : allow 允許10.10.10.0/24網(wǎng)段登陸
sshd: 192.168.1.30 : allow 允許192.168.1.30這個ip登陸
到這,就已經(jīng)解決了問題。歡迎關(guān)注藍胖胖,咱們一起變強大!!!~~~
參考文章:
https://blog.csdn.net/qq_44895681/article/details/124841145
https://blog.csdn.net/qq_41895003/article/details/105261596文章來源:http://www.zghlxwxcb.cn/news/detail-813216.html
https://blog.csdn.net/xiaoliyi185/article/details/90704812文章來源地址http://www.zghlxwxcb.cn/news/detail-813216.html
到了這里,關(guān)于【深度學習高效小trick】使用Linux服務器一段時間后出現(xiàn)‘Socket error Event: 32 Error: 10053’,快速帶你解決連接失??!的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!