# 查看 TCP/UDP 監聽連接埠及進程(需 root 權限顯示 PID/Program name)
netstat -anp | grep :8080
ss -anp | grep :8080 # 現代替代指令,速度更快
輸出範例:tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1234/java → PID 1234。
ps -ef | grep tomcat
pgrep -f tomcat # 僅輸出 PID
pidof java # 僅針對主程式名稱
| 指令 | 行為 | 適用場景 |
|---|---|---|
kill 1234 | 發送 SIGTERM (15),進程可捕捉優雅退出 | 首選,正常關閉 |
kill -9 1234 | 發送 SIGKILL (9),核心強制終止,不可捕捉 | 進程無回應時 |
killall -9 java | 依程式名稱強制終止所有同名進程 | 批量清理 |
pkill -f tomcat | 依完整命令列模式匹配終止 | 精準匹配參數 |
kill 8080、killall -KILL 8080 將「連接埠號」誤作為「PID」使用,錯誤。正確流程:先用 netstat/ss 找到 PID,再 kill PID。killall 後接程式名稱而非 PID。lsof -i :8080 # 顯示佔用 8080 的所有進程詳細資訊
lsof -p 1234 # 顯示 PID 1234 打開的所有檔案/連接埠