1. 使用 netstat 指令檢視端口占用情況
netstat 常見參數
-a (all)顯示所有選項,預設不顯示 LISTEN 相關
-t (tcp)顯示tcp相關選項
-u (udp)顯示udp相關選項
-l 列出有在 listen (監聽) 的服務狀态
-n 不顯示别名,能顯示數字的全部轉化成數字
-p 顯示建立相關連結(sockets)的程式名
-r 顯示路由資訊,路由表
-e 顯示擴充資訊,例如uid等
-s 按各個協定進行統計
-c 每隔一個固定時間,執行該netstat指令。
1)netstat -tln
-l, –列出有在 listen (監聽) 的服務狀态
-n, –數字,不解析成别名,能顯示數字的全部解析成數字
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX6lEVNVnVzEWMohFZ2hWblZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN1YDOwcDNzIjNyIDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
若需要知道是什麼程式占用,加上 -p 參數
netstat -tlnp
2)查找占用指定端口号的應用資訊
netstat -aon|grep “8080”
或
netstat -tulnp|grep 8080
找到 pid 846
# ps 846 -- 檢視
# kill -9 846 -- 殺掉
2. Windows cmd 指令行視窗下類似指令
netstat -aon|findstr “端口号”
tasklist |findstr “端口号”
taskkill /m /f “應用程式名” – 殺掉任務
在任務管理器中找不到某占用端口的程式。可以從指令行找到并殺死該程式,指令如下:
taskkill -PID <程序号> -F //強制關閉某個程序
如果占用端口的程序是服務,taskkill 是殺不掉服務的,可用停止服務(如停止 Oracle 服務)的方法:
net stop <服務名>
-- 停止 Oracle 服務指令
net stop OracleOraDb10g_home1TNSListener
net stop OracleServiceORCL
注:指令視窗顯示的服務名稱有的後面接“-service”,執行指令時會報找不到該服務名稱,可去掉 -service 再執行指令,或者進入任務管理器檢視對應的服務名稱。