發布於 2023-06-26

更新於 2023-06-26

程式

約589字 (3分鐘閱讀)

Port 3000 端口被占用怎麼辦?

Title Image

前言 - Prologue

在 Ubuntu 操作 VScode ,常常不小心關掉,而當再次開啟輸入 npm start 時,就會出現下列警示:

Something is already running on port 3000.

這時候就會詢問你是否要開啟另一個端口,而後端的測試伺服器限定只能 Port 3000 怎麼辦呢?

於是就爬文尋找如何強制關閉 Port 3000 的方法,這邊做一個解決辦法的筆記與紀錄。

說明 - Explanation

當在 Node.js 中遇到「Port 3000 already in use」、「Something is already running on port 3000」的錯誤訊息,通常表示該埠號已被其他進程或應用程式佔用。

Something is already running on port 3000

即使你認為該埠號並未被使用,可能仍有殘留的進程或服務佔用著該埠號。

要解決這個問題可以嘗試以下步驟:

  1. 確認埠號是否真的被使用

可以使用命令列工具,例如 netstatlsof,來檢查是否有任何進程正在監聽該埠號。

例如:在 Unix 系統上,可以執行命令 lsof -i :3000 來查看哪個進程正在使用該埠號。

  1. 終止佔用該埠號的進程

如果發現有進程正在使用埠號 3000,可以終止該進程以釋放該埠號。

例如:在 Unix 系統上,可以使用 kill <PID> 來終止進程。

  1. 重新啟動 Node.js 應用程式

確保埠號已經釋放後,重新啟動 Node.js 應用程式,檢查錯誤是否仍然存在。

  1. 使用不同的埠號

如果無法釋放埠號 3000,可以修改代碼或配置,使用另一個尚未被使用的埠號。

也有可能是其他因素導致問題,例如防火牆設定或衝突的網路配置。

如果問題仍然存在,也可以嘗試百試不靈的老方法重新啟動電腦,或直接諮詢系統的管理員以獲得進一步協助。

解決方案 - Solution

You can search on how to kill that process.

For Linux/Mac OS search (sudo) run this in the terminal:

Linux/Mac:

$ lsof -i tcp:3000
$ kill -9 PID

On Windows:

netstat -ano | findstr :3000
tskill typeyourPIDhere 

change tskill for taskkill in git bash


📚 原文連結 - Source Post Link

javascript - Node.js Port 3000 already in use but it actually isn't? - Stack Overflow

https://stackoverflow.com/questions/39322089/node-js-port-3000-already-in-use-but-it-actually-isnt

Port 3000 端口被占用怎麼辦?

https:///blog/63

作者

Kama

Read more from 程式
lightbox-image
Toggle Button - Red Pandas Icons by svgrepo.com

Copyrights © 2023 Kama, All Rights Reserved.