我有一个简单的服务器运行在node.js使用连接:

var server = require('connect').createServer();
//actions...
server.listen(3000);

在我的代码中,我有实际的处理程序,但这是基本的思想。我一直遇到的问题是

EADDRINUSE, Address already in use

我收到这个错误时再次运行我的应用程序后,它以前崩溃或错误。因为我没有打开一个新的终端实例,所以我用ctr + z关闭了这个进程。

我非常确定我所要做的就是关闭服务器或连接。我尝试在进程中调用server.close()。(“退出”,…);运气不好。


当前回答

通过Cmd打开Windows

1/2。Search => write CMD => open node.js命令提示符


2/2。执行windows命令:taskkill

结束一个或多个任务或流程。

taskkill /f /im node.exe

/f - force结束

/im -要终止的进程的镜像名称。

Node.exe -可执行文件

Windows -手动任务管理器

这个命令相当于在详细信息选项卡下进入任务管理器并选择节点任务(在我看来很整洁)。

结束任务

Visual studio

有时有多个终端/任务(客户端/服务器等)。 选择并按ctrl + c关闭。

其他回答

下面是一行代码(将3000替换为端口或配置变量):

kill $(lsof -t -i:3000)

我还有另一个问题。我已经申报了两次港口。不要再犯那个错误了。

app.listen(port, function () {
  console.log('Example app listening on port')
})

app.listen(3000, function() {
  console.log("Server started on port 3000");
});

而是这样做:

const port = 3000;

app.listen(port, function () {
  console.log('Example app listening on port')
})

简单地退出服务器,并将服务器端口3000更改为31000,其工作正常。

您可以使用热节点来防止服务器崩溃/运行时错误。当节点程序[source] /进程[running node program]发生变化时,Hot-node会自动重启nodejs应用程序。

使用global选项使用npm安装hot-node:

安装-g hotnode

在我的回答中重写@Gerard的评论:

在类unix操作系统上尝试pkill nodejs或pkill node。

这将杀死运行在任何端口上的节点服务器的进程。 为我工作。