開發中常遇場景:Eclipse 強制關閉或崩潰後,再次啟動 Tomcat 時控制台噴紅:
Several ports (8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port.
根因:上一次 Tomcat 進程未正常關閉,仍佔用 8080(HTTP)、8009(AJP)等端口。
javaw.exe 開頭的進程。javaw.exe:內存佔用較小者(約 300-400 MB)為 Tomcat,較大者為 Eclipse。

netstat -aon | findstr 8080
輸出示例:TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 8020,最後一列 8020 即 PID。

tasklist | findstr 8020
輸出確認為 javaw.exe 後再執行殺進程。
taskkill /f /pid 8020
成功提示:成功: 已終止 PID 8020 (屬於 PID 7480 子進程)的進程。

taskkill /f /t /im javaw.exe
/t 同時終止子進程,/im 指定映像名稱。慎用! 會連同 Eclipse 一起關閉。
bin/shutdown.sh(Linux/Mac)或 shutdown.bat(Windows)腳本納入項目停機腳本。systemd、Supervisor 或容器編排工具管理進程生命週期。掌握這兩招,下次再見「Address already in use」不再手忙腳亂。