如何找到佔用 port 的程式? (For Windows)
文章目錄
前言
今日在使用 kitematic
建立 container 時,發現在重啟 kitematic
之前 container 是能正常運作的,重啟後就無法正常運作,看了 docker logs
發現原來是設定的 port 被占用了!
雖然可以改另外一個 port 來用,但基於柯南
的精神(?),決定來查找並且解決看看!
在 windows 上要找到哪個 process 占用 port,其實蠻簡單的,只要兩行指令 + 工作管理員 ~
(假設被佔用了 32774) 開啟 cmd.exe
,輸入
1 | netstat -ano | findstr 0.0:32774 |
會得到以下結果
1 | TCP 0.0.0.0:32774 0.0.0.0:0 LISTENING 5220 |
那個 5220
就代表 PID ~
再輸入另一個指令查詢這個 PID 是哪知 process:
1 | tasklist | findstr 5520 |
會得到以下結果:
1 | com.docker.backend.exe 5220 Services 0 14,444 K |
第一個就代表是哪個 process 拉~再來開啟工作管理員就能關閉他了!
或是輸入指令:
1 | taskkill /F /PID 5520 |
再次啟動 container,正常!