程序啟動的過程中,有時候會提示“端口被占用”。如何快速的找到占用該端口的進程?網上有很多種方法,這里自己整理了下,使用DOS命令查詢端口并清除端口占用的程序,做個筆記。
?
windows系統下DOS命令:
1.查看端口號所占用的進程
netstat -a -n ? ? 各個端口占用
netstat -aon ? ? ?各個端口占用和進程PID
netstat -aon|findstr "8080" ? ? 查找指定端口所占用的進程,記住進程PID(注意是雙引號)
?
2.查看端口所占用的應用程序
tasklist|findstr "10504" ? ? ? 根據進程PID查找出應用程序(10504是8080端口所占用的進程PID)
?
3.終止進程
taskkill /pid 10504 /F
或者使用taskkill /f /t /im javaw.exe
?
重新再查詢下,tasklist|findstr "10504" ,若返回為空,則成功終止PID為“10504”的進程。
?
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 顯示當前 配置信息(只顯示一次)