Windows系統(tǒng)如何處理應(yīng)用程序端口沖突?
我們?cè)谑褂秒娔X的過程中,如果在打開某一個(gè)應(yīng)用程序時(shí),出現(xiàn)端口沖突提示消息,導(dǎo)致我們不能正常使用應(yīng)用程序。其原因是因?yàn)閼?yīng)用程序需要使用的TCP/UDP端口被其它正在運(yùn)行的程序、或者病毒木馬占用了,導(dǎo)致了端口沖突,應(yīng)用程序運(yùn)行異常。本文詳細(xì)介紹出現(xiàn)這種錯(cuò)誤的解決方法。

查看所有的端口
按住【W(wǎng)IN+R】快捷鍵打開運(yùn)行輸入窗口,輸入“cmd”指令,打開命令提示符窗口輸入【netstat -ano】,系統(tǒng)將顯示所有的端口占用信息。

字段說明
【協(xié)議】包含TCP和UDP
【本地地址,四個(gè)點(diǎn)分十進(jìn)制數(shù):端口】屬于IPv4,如果是[::]或者[一長(zhǎng)串的十六進(jìn)制數(shù)]則屬于IPv6。均屬于計(jì)算機(jī)本地ip。
【外部地址】是屬于本地與外網(wǎng)進(jìn)行通信的IP地址。
【狀態(tài)】
LISTENING:偵聽狀態(tài);
ESTABLISHED:已經(jīng)建立連接,并正在通信;
CLOSE_WAIT:對(duì)方主動(dòng)關(guān)閉連接或者網(wǎng)絡(luò)異常導(dǎo)致連接中斷,這時(shí)我方的狀態(tài)會(huì)變成CLOSE_WAIT,此時(shí)我方要調(diào)用close()來使得連接正確關(guān)閉;
TIME_WAIT:我方主動(dòng)調(diào)用close()斷開連接,收到對(duì)方確認(rèn)后狀態(tài)變?yōu)門IME_WAIT。TCP協(xié)議規(guī)定TIME_WAIT狀態(tài)會(huì)一直持續(xù)2MSL(即兩倍的分段最大生存期),以此來確保舊的連接狀態(tài)不會(huì)對(duì)新連接產(chǎn)生影響。處于TIME_WAIT狀態(tài)的連接占用的資源不會(huì)被內(nèi)核釋放,所以作為服務(wù)器,在可能的情況下,盡量不要主動(dòng)斷開連接,以減少TIME_WAIT狀態(tài)造成的資源浪費(fèi)。
SYN_SENT:SYN_SENT狀態(tài)表示請(qǐng)求連接,當(dāng)我們要訪問其它的電腦的服務(wù)時(shí),首先要發(fā)個(gè)同步信號(hào)給該端口,此時(shí)狀態(tài)為SYN_SENT。如果連接成功,就變?yōu)镋STABLISHED,此時(shí)SYN_SENT狀態(tài)非常短暫。如果發(fā)現(xiàn)SYN_SENT非常多且在向不同的機(jī)器發(fā)出,我們的電腦可能中了病毒。病毒為了感染其它的電腦,會(huì)掃描其它的電腦,在這個(gè)過程中,會(huì)對(duì)每個(gè)要掃描的電腦都會(huì)發(fā)出了同步請(qǐng)求,這就是出現(xiàn)許多SYN_SENT的原因。
【PID(進(jìn)程號(hào))】作為一種身份別名
查詢指定的端口占用
在命令窗口,輸入【netstat -ano | findstr “指定端口”】,例如查詢80端口。

查詢PID對(duì)應(yīng)的進(jìn)程
在命令窗口,輸入【tasklist | findstr “指定PID號(hào)”】,例如上圖的4788

殺死/結(jié)束/終止進(jìn)程
在命令窗口,輸入【taskkill /f /t /im 程序名】,例如上圖中的mysqld.exe。

再次查看進(jìn)程已經(jīng)被終止不存在了


更多電腦實(shí)用技巧,關(guān)注【源自生活隨筆】公眾號(hào)