如何从错误中释放localhost:listen EADDRINUSE

我正在testing一个服务器写在nodejs在Windows 7上,当我尝试在命令行运行testing仪,我得到以下错误

Error: listen EADDRINUSE at errnoException (net.js:614:11) at Array.0 (net.js:704:26) at EventEmitter._tickCallback (node.js:192:40) 

我怎样才能修复它,而无需重新启动?

这意味着您尝试绑定服务器的地址正在使用中。 尝试另一个端口或使用该端口closures程序。

跑:

 ps -ax | grep node 

你会得到像这样的东西:

 60778 ?? 0:00.62 /usr/local/bin/node abc.js 

然后做:

 kill -9 60778 

以下命令将为您提供正在运行的节点进程的列表。

 ps | grep node 

要释放该端口,请使用以下步骤停止该进程。

 kill <processId> 

在Linux上(至lessUbuntu的衍生品)

 killall node 

比这种forms更容易

 ps | grep <something> kill <somepid> 

如果你有一个孤儿抱着这个港口,那么它们都不会起作用。 相反,这样做:

 netstat -punta | grep <port> 

如果端口被closures,你会看到类似这样的东西:

 tcp 0 0.0.0.0:<port> 0.0.0.* LISTEN <pid>/<parent> 

现在杀pid:

 kill -9 <pid> 

当你得到一个错误错误:听EADDRINUSE,

尝试运行以下shell命令:

 netstat -a -o | grep 8080 taskkill /F /PID 6204 

grep ed为8080,因为我知道我的服务器端口8080上运行。( static告诉我,当我开始:'服务“。”在http://127.0.0.1:8080 '。)您可能需要search一个不同的端口。

假设你的服务器在port 3000运行

 lsof -i tcp:3000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node 11716 arun 11u IPv6 159175 0t0 TCP *:3000 (LISTEN) 

之后使用kill -9 <pid>

在上面的情况下sudo kill -9 11716

一个可行的解决scheme,我只是closures窗口浏览器,我有相应的“ http:// localhost:3000 / ”脚本运行。

当你得到一个错误

错误:听EADDRINUSE

打开命令提示符并键入以下说明:

 netstat -a -o | grep 8080 taskkill /F /PID** <*ur Process ID no*> 

之后,重新启动手机差距界面。

如果您想知道哪个进程ID phonegap正在使用,请打开TASK MANAGER并查看Column标题PID并findPID号。

我在我的Mac和我的Raspberry Pi上安装了节点红色。 如果完全一样的问题,做'killall'没有帮助。 一旦我closures了树莓派,并重新启动我的电脑,它工作得很好。

你可以在app.js或你的项目configuration文件中更改你的端口。

默认('端口',80)

并看看端口80是否已经在使用,你可以做

netstat -antp | grep 80

netstat -antp | grep节点

你可能想看看节点进程是否已经运行。

ps -ef | grep节点

如果你发现它已经在运行,你可以使用它来杀死它

killall节点

我创build了2个服务器,在同一端口8081上运行,使用相同的代码,同时学习

第一台服务器创buildshud已经工作第二台服务器创buildEADDRINUSE失败

node.jscallback延迟可能是没有工作的原因,或者第二个服务器创build有exception,程序退出,所以第一个服务器也closures

2服务器问题提示,我得到: 如何解决错误:使用nodejs时,听EADDRINUSE?

错误:侦听EADDRINUSE解决它在terminalnetstat -nptl运行的Ubuntu,并在这之后kill -9 {process-number}这个命令是杀死节点进程,现在你可以尝试再次运行节点server.js命令

防爆

听EADDRINUSE ::: 8080

netstat -nptl

tcp6 0 0 ::: 9000 ::: * LISTEN 9660 / java
tcp6 0 0 ::: 5800 ::: * LISTEN –
tcp6 0 0 ::: 5900 ::: * LISTEN –
tcp6 0 0 ::: 8080 ::: * LISTEN 10401 /节点
tcp6 0 0 ::: 20080 ::: * LISTEN 9660 / java
tcp6 0 0 ::: 80 ::: * LISTEN –
tcp6 0 0 ::: 22 ::: * LISTEN –
tcp6 0 0 ::: 10137 ::: * LISTEN 9660 / java

杀-9 10401

您可能可能试图在两个不同的选项卡中运行npm start命令。如果您已经在某个选项卡中运行了npm start,则无法运行npm start。请检查一次。

对于已经尝试了以上所有方法的人,仍然无法find胭脂的过程,请重新尝试,但要确保在命令前join了“sudo”。

如果你更喜欢用户界面,在Windows任务pipe理器中findNode.js进程并杀死它。

在窗口中,请执行以下命令:

 taskkill /F /PID 1952