Dos命令查看端口占用及關閉進程

1. 查看端口占用

在windows命令行窗口下執行:網絡

netstat -aon|findstr "8080"
TCP     127.0.0.1:80         0.0.0.0:0               LISTENING       2448

端口「8080」被PID(進程號)爲2448的進程佔用。socket

查看端口「8080」被哪一個應用佔用,,繼續執行下面命令:spa

tasklist|findstr "2448"
notepad.exe                     2016 Console                 0     16,064 K

2. 關閉進程

2.1 按進程號關閉進程

taskkill /pid 2152

多個時格式爲:命令行

taskkill /pid 2152 /pid 1284

2.2 按進程名關閉進程

如要關閉notepad.exe,格式爲:code

taskkill /im notepad.exe

指定多個時格式爲:htm

taskkill /im notepad.exe /im iexplorer.exe

若是是要關閉全部的,則使用通配符*,即:blog

taskkill /im *.exe

2.3 有提示的關閉進程

taskkill /t /im notepad.exe
taskkill /t /pid 2152

這個效果是提示後在使用者肯定後關閉,有提示框。

2.4 強行終止進程

taskkill /f /im notepad.exe
taskkill /f /pid 2152

3. 端口狀態

3.1 LISTENING狀態

FTP服務啓動後首先處於偵聽(LISTENING)狀態。

3.2 ESTABLISHED狀態

ESTABLISHED的意思是創建鏈接。表示兩臺機器正在通訊。

3.3 CLOSE_WAIT

對方主動關閉鏈接或者網絡異常致使鏈接中斷,這時我方的狀態會變成CLOSE_WAIT 此時我方要調用close()來使得鏈接正確關閉

3.4 TIME_WAIT

我方主動調用close()斷開鏈接,收到對方確認後狀態變爲TIME_WAIT。TCP協議規定TIME_WAIT狀態會一直持續2MSL(即兩倍的分段最大生存期),以此來確保舊的鏈接狀態不會對新鏈接產生影響。處於TIME_WAIT狀態的鏈接佔用的資源不會被內核釋放,因此做爲服務器,在可能的狀況下,儘可能不要主動斷開鏈接,以減小TIME_WAIT狀態形成的資源浪費。

目前有一種避免TIME_WAIT資源浪費的方法,就是關閉socket的LINGER選項。但這種作法是TCP協議不推薦使用的,在某些狀況下這個操做可能會帶來錯誤。

3.5 SYN_SENT狀態

SYN_SENT狀態表示請求鏈接,當你要訪問其它的計算機的服務時首先要發個同步信號給該端口,此時狀態爲SYN_SENT,若是鏈接成功了就變爲ESTABLISHED,此時SYN_SENT狀態很是短暫。但若是發現SYN_SENT很是多且在向不一樣的機器發出,那你的機器可能中了衝擊波或震盪波之類的病毒了。這類病毒爲了感染別的計算機,它就要掃描別的計算機,在掃描的過程當中對每一個要掃描的計算機都要發出了同步請求,這也是出現許多SYN_SENT的緣由。

相關文章
相關標籤/搜索