前言

記得一開始剛學習寫程式的時候
曾經遇到port號被佔用的問題

這邊紀錄如果開發的過程中遇到port號被佔用的情況要如何處理


port號被佔用的解法

  1. 顯示port號正在執行的程序(process)
1
sudo lsof -i:<your_port>

sudo:為最高權限

  1. 終止程序
1
kill <your_PID>

PID: 為process的ID

像這邊java程式開發中port號被佔用的範例如下:
port

這樣子就可以把8088 port的java程式給關掉了

如果不確定有沒有好好關閉,可以再查一次lsof指令


可能會發生port號被佔用的情況

  • IntelliJ IDEA關閉時選錯

idea
以前第一次關閉IntelliJ的時候
不懂disconnect與terminate的差別
當時選了disconnect就被佔用
後來才知道terminate才會把程式的程序整個斷開
port才會真正關閉

  • 開發時,同時起springboot與vue
    • springboot
      如果沒有設定port號
      一般預設啟動都是8080 port
      那如果8080port被佔用的情況
      他會報錯顯示無法啟動
    • Vue
      預設也是8080 port
      遇到port號被佔用會自動累加號碼

假設後端為8080
先起後端的情況
vue會自己起在8081 port
因為vue被佔用的情況會自動累加
而如果先起前端的情況
vue起在8080 port
就會遇到起後端的時候出現8080port被佔用而無法啟動的情況