I have been working through a node.js job for a few weeks and it has actually been functioning great. Usually, I usage npm start to run my app and also view that in a web browser on localhost, port 3000.

You are watching: Something is already running on port 3000

Today, I started to acquire the adhering to error while making use of npm start:

Server started on harbor 3000 harbor 3000 is already in use I have checked the resource monitor and I have no other process running on port 3000. Why would I be getting this error message?

In my app.js I have actually the adhering to code to set the port...is this incorrect? It worked fine prior to so I"m not certain what i am law wrong.

// collection Portapp.set("port", (process.env.PORT || 3000));app.listen(app.get("port"), function() console.log("Server started on harbor "+app.get("port")););Thanks because that the help!


I have actually tried running netstat and also TCPView to inspect what procedure is using the port, yet there is nothing making use of that port. I also tried restarting mine laptop however I still gain the very same error.

javascript node.js npm harbor
enhance this inquiry
edited Apr 25 "20 in ~ 13:15

coin Liu
9,72655 gold badges5050 silver- badges7575 bronze badges
request Sep 4 "16 in ~ 22:38

3,90399 gold badges3737 silver badges5555 bronze title
| present 10 an ext comments

38 answers 38

energetic earliest Votes
2 Next
You can search on just how to kill that process.

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

$ lsof -i tcp:3000$ kill -9 PIDOn Windows:

netstat -ano | findstr :3000tskill typeyourPIDhere change tskill because that taskkill in git bash

improve this answer
edited Apr 22 "19 at 12:24

Ashwani Panwar
2,29333 gold badges3232 silver- badges4848 bronze title
answered Jul 16 "17 at 15:29

Animesh SinghAnimesh singh
5,47411 yellow badge1111 silver- badges1919 bronze title
| display 5 much more comments
Maybe you deserve to take this as reference. This single command line deserve to kill the procedure running on provided port.

npx kill-port 3000


To death multiple ports.

npx kill-port 3000 8080 4200
boost this prize
edited may 25 "20 in ~ 4:17
answered Apr 22 "20 in ~ 10:27


coin LiuPenny Liu
9,72655 yellow badges5050 silver badges7575 bronze badges
add a comment |
Sometimes it happens, together
sova proposed This happens to me sometimes, EADDR in use. Commonly there is a terminal home window hiding out in the background that is still to run the app. and that"s likewise right with me.

It happens, when you have actually opened terminal for long time, yes you have right, you have stop the process. But sometimes that didn"t prevent in the background. So ideal solution is the you close the terminal and start the again. It will certainly solves your problem. Becuase in my instance it works.


sudo lsof -i:close the instance for current time but unable to avoid the process in background. So for one time,

sudo death works, yet again as soon as we upgrade our code and save, this problem occurs again as with Nodemon.

So leave the terminal will resolve the problem. OR

killall -9 node
enhance this price
edited Feb 3 "18 at 16:54
answered january 19 "18 in ~ 5:33
5,19344 gold badges2323 silver badges3131 bronze badges
add a comment |
I had the same problem.(The listed below steps work-related fine on windows 10):

Open job manager (press Ctrl+Alt+Delete)Select the "Processes tab"Search for "Node.js: Server-side JavaScript"Select it and also click on "End task" button

Now you deserve to run npm start.

Hope it help you.

enhance this price
edited Jun 27 "18 in ~ 19:47
answered Jun 27 "18 in ~ 19:09
84588 silver- badges1212 bronze badges
add a comment |
I additionally encountered the very same issue. The best method to resolve is (for windows):

Go to the Task Manager.

End this particular task.

There you go!Now execute npm start and it will work as before!

boost this answer
answer Jul 12 "20 at 5:44
42144 silver- badges77 bronze badges
include a comment |
For windows, The task Manager would definitely show a node process running.Try to kill the process, the will fix the problem.

enhance this prize
answered Jul 17 "17 at 14:05
PRAKASH cutting board VARGHESEPRAKASH cutting board VARGHESE
83699 silver- badges1515 bronze badges
add a comment |
Killing a process that owns port 3000

First, let’s take it a watch at how we deserve to kill a process that has a harbor open.

See more: Watch Majimoji Rurumo: Kanketsu-Hen, Majimoji Rurumo: Kanketsu

Using the lsof command, we deserve to retrieve the PID that has the offered port:

$ lsof -i :3000 -t12345Then we have the right to kill this process just through doing:

$ kill 12345Let’s rotate this right into a one-liner:

lsof -i 3000 -t | xargs killIf you’re utilizing an environment variable to collection the server port, we deserve to specify that rather of hardcoding our values:

lsof -i $PORT -t | xargs killLastly, we deserve to default to port 3000 if the setting variable isn’t set:

lsof -i $PORT:-3000 -t | xargs killGetting nodemon come execute hooks

Nodemon allows you collection up event hooks v nodemon.json configuration file:

"events": xargs kill"" This will reason nodemon come execute sh -c "lsof -i :$PORT:-3000 -t | xargs kill command whenever your application crashes, in order to killing the child procedure it spawned that’s maintaining the port open.