我們可以知道某一端口被那個進程(對應PID)佔用;
然後我們可以打開任務管理器;查看某一PID對應的進程名;
如果PID沒有顯示,菜單》查看》選擇列》選中PID即可;
得知進程後,我們可以將進程殺掉;修改其使用的端口。
假如我們需要確定誰佔用了我們的9050端口
1、Windows平臺
在windows命令行窗口下執行:
C:\>netstat -aon | findstr "9050"
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
看到了嗎,端口被進程號爲2016的進程佔用,繼續執行下面命令:
C:\>tasklist | findstr "2016"
tor.exe 2016 Console 0 16,064 K
或者
C:\>tasklist /fi "pid eq 2016"
圖像名 PID 會話名 會話# 內存使用
========================= ====== ================ ======== ============
tor.exe 2016 Console 0 16,064 K
很清楚吧,tor佔用了你的端口
2、AIX
$netstat -Aan | grep 30542
f10000f303321b58 tcp4 0 0 *.30542 *.* LISTEN
$rmsock f10000f303321b58 tcpcb
The socket 0x3321800 is being held by proccess 692476 (db2sysc).
這個我就不解釋了
3、Linux
$netstat -pan|grep 2809
tcp 0 0 0.0.0.0:2809 0.0.0.0:* LISTEN 9493 /java
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
-a 顯示所有連接和監聽端口。
-b 顯示包含於創建每個連接或監聽端口的可執行組件。在某些情況下已知可執行組件
擁有多個獨立組件,並且在這些情況下
包含於創建連接或監聽端口的組件序列被顯示。這種情況下,可執行組件名
在底部的 [] 中,頂部是其調用的組件,等等,直到 TCP/IP 部分。注意此選項
可能需要很長時間,如果沒有足夠權限可能失敗。
-e 顯示以太網統計信息。此選項可以與 -s選項組合使用。
-n 以數字形式顯示地址和端口號。
-o 顯示與每個連接相關的所屬進程 ID。
-p proto 顯示 proto 指定的協議的連接;proto 可以是
下列協議之一: TCP、UDP、TCPv6 或 UDPv6。
如果與 -s 選項一起使用以顯示按協議統計信息,proto 可以是下列協議之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r 顯示路由表。
-s 顯示按協議統計信息。默認地,顯示 IP、
IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計信息;
-p 選項用於指定默認情況的子集。
-v 與 -b 選項一起使用時將顯示包含於
爲所有可執行組件創建連接或監聽端口的組件。
interval 重新顯示選定統計信息,每次顯示之間
暫停時間間隔(以秒計)。按 CTRL+C 停止重新
顯示統計信息。如果省略,netstat 顯示當前
配置信息(只顯示一次)