# [ Error 系列 ] listen EADDRINUSE: address already in use :::5000 MacOs 系統 port 佔用問題 ## 事發經過 在開發網頁後端的 server 時,很多網路上的範例都會使用 **`port:5000 `** ,不過在 MacOS 的系統裡,預設 [AirPlay](https://www.apple.com/tw/airplay/) 也就是 **鏡像輸出** ,使用的接口(port)也是 5000,這會導致程式在接的時候會發生錯誤 **`address already in use`** ## 如何處理 Error: address already in use ### Step1. 查詢目前被佔用的 port ```shell= lsof -i :5000 ```  ### Step2. 確認目前使用的應用程式或是其他重要服務沒有在使用這個 port 上面提過, AirPlay 使用的是 **Port:5000** ,因為我也很好奇是不是真的關掉就會消失,所以沒有直接把佔用 port 的應用程式殺掉,先到了偏好設定 **把 AirPlay** 關掉試試看:==左上角蘋果 > 系統設定 > 一般 > AirDrop 與接力(AirPlay Receiver)==   ==再試一次 **`lsof -i :5000`**== 可以看到已經被關掉了  ### Step3. 實驗結束,最後我選擇把 port:5000 留給 MacOS 使用 於是我修改了後端 server 聆聽的 port:5001 ### 補充:粗暴的方式 => 直接殺掉正在使用(佔用)的 port 如果完全不知道有什麼應用程式在跑,不建議用這個方式,因為會強制終止服務 **`kill -9`** => 強制終止 **`2003`** => PID (剛剛上面查到的 PID) ```shell= kill -9 2003 ``` source: chatGPT </br> </br> </br> </br> </br> </br>
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up