NodeJS: How to fix localhost Error: listen EADDRINUSE
If you're using NodeJS, sometimes you'll get an error like this:
Error: listen EADDRINUSE :::5000
at Object.exports._errnoException
at exports._exceptionWithHostPort
at Server.setupListenHandle [as _listen2]
at listenInCluster
at Server.listen
at Function.app.listen
What this error means is that you're trying to bind the app but the server is already in use. The only way to to first kill the server. Here's how:
Process Scanning
You can always use good ol' grep
to find which process is already running. First run process then use grep to filter out any process that has the name "node". This command contains an extra grep -v grep
so that it ignores the grep process.
Method 1
ps | grep node | grep -v grep
Method 2
ps -ax | grep node
Port Scanning
Method 1
You can search using the tcp port.
lsof -i tcp:5000
Method 2
You can also use netstat with grep to find the process with the port.
netstat -punta | grep 5000
Stop Process
Once you find the culprit, look for the PID
. This is a number you will use to stop the process.
kill -9 <PID number>