小白問下查看某端口是否被占用
提問者:他不停喝水 | 瀏覽 次 | 提問時間:2016-12-15 | 回答數量:3
但往往很多時候隻需要查看某個端口的使用情況,它到底被那個進程(對應PID)占用了,或者你還需要把它Kill掉。如果你在Windows操作係統,你可以使用netstat命令來查詢PI...
已有3條答案
但往往很多時候隻需要查看某個端口的使用情況,它到底被那個進程(對應PID)占用了,或者你還需要把它Kill掉。如果你在Windows操作係統,你可以使用netstat命令來查詢PID,然後可以打開任務管理器,查看這個PID對應的進程名;如果PID沒有顯示,菜單》查看》選擇列》選中PID即可;得知進程後,我們可以將進程殺掉。下麵我簡單描述一下我所了解的在Windows和Linux係統下處理方式。(假如我們需要確定誰占用了我們的9010端口)
1、Windows平台
在windows控製台窗口下執行:
netstat -nao | findstr 9010
TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017
你看到是PID為3017的進程占用了9010端口,如果進一步你想知道它的進程名稱,你可以使用如下命令:
tasklist | findstr 3017
如果你想殺死這個進程,你當然可以用前麵描述的那種方法,在任務管理器裏把它KILL了,但如果你喜歡高效一點,那麼用taskkill命令就可以了。
taskkill /pid 3017
那麼這個進程就灰灰湮滅了:)2、Linux
如果你是個Linux愛好者,那個這個命令你應該很熟了,
netstat -pan | grep 9010
如果你稍微仔細一點,你會發現,用的都是netsta命令,事實上,netstat是一個比較通用的網絡統計命令,幾乎適用於所有現在流行的操作係統,無論是Linux,Window,還是其他Unix,或者Unix-like操作係統,而且用法基本一致。
下麵是一個對Windows係統中netstat命令行參數的詳細解釋。
格式:
netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]參數說明:-a 顯示所有連接和監聽端口。
-n 以數字形式顯示地址和端口號。
-o 顯示與每個連接相關的所屬進程 ID。
-p 在Windows係統中,該選項用於指定默認情況的子集。proto 顯示 proto 指定的協議的連接;proto 可以是下列協議之一: TCP、UDP、TCPv6 或 UDPv6。
如果與 -s 選項一起使用以顯示按協議統計信息,proto 可以是下列協議之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-b 顯示包含於創建每個連接或監聽端口的可執行組件。在某些情況下已知可執行組件擁有多個獨立組件,並且在這些情況下;包含於創建連接或監聽端口的組件序列被顯示。這種情況下,可執行組件名在底部的 [] 中,頂部是其調用的組件,等等,直到 TCP/IP 部分。注意此選項
可能需要很長時間,如果沒有足夠權限可能失敗。
-e 顯示以太網統計信息。此選項可以與 -s選項組合使用。
-s 顯示按協議統計信息。默認地,顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計信息。
-r 顯示路由表。
-v 與 -b 選項一起使用時將顯示包含於為所有可執行組件創建連接或監聽端口的組件。
艸你麻痹丶baby
回答數:8655 | 被采納數:0
2016-12-15 17:11:40
你好,端口被占用查看方法:
一、Windows查看所有的端口
點擊電腦左下角的開始,然後選擇運行選項,接著我們在彈出的窗口中,輸入【cmd】命令,進行命令提示符。然後我們在窗口中輸入【netstat -ano】按下回車,即會顯示所有的端口占用情況。
二、查詢指定的端口占用
在窗口中,繼續輸入【netstat -aon|findstr "提示的端口"】,回車之後就可以看見列表中的PID,然後根據PID在電腦的任務管理器中查看對應的占用程序,接著進行關閉即可。
三、查詢PID對應的進行進程
可以輸入命令【tasklist|findstr "2016"】,在第一行顯示的名字就是程序名,這樣我們就明白是那個程序占用的端口。
1、點擊開始菜單,輸入cmd後,按回車鍵。
2、在出現的cmd對話框中輸入netstat -an命令。就可以看到端口的使用情況。
3、也可以直接查看某個具體的端口號有沒有被占用,輸入如下命令:netstat -aon|findstr "端口號"。