在Windows 10上重新运行Node.js服务器时发生EADDRINUSE错误

我有一个问题,重新加载(ctrl + c,然后再次运行node app )一个基本的Node.js服务器(尝试v0.12.0和v0.12.7)在Windows 10导致服务器挂起约20秒,然后重新加载。 当使用像PM2这样的工具来观察我的服务器时,在对文件进行任何更新之后出错,并且日志显示EADDRINUSE错误。

我把它解释成最简单的例子(认为它可能是Express的一个问题),但是Node.js文档中的基本例子仍然在发生:

 var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(3030); console.log('Server running at http://127.0.0.1:3030/'); 

我已经检查过没有别的端口3030上运行。我也尝试了不同的端口号。 似乎Node.js进程没有及时closures并释放端口。 我也尝试过使用ctrl + break,同时捕获SIGINT并手动调用process.exit()。 我可以确认它捕获的信号,但它仍然如上所述挂起。

我从7号升级到Windows 10后不久就注意到了这一点,之前没有问题,所以我认为这是最有可能的罪魁祸首。 我有一个与Ubuntu 14.04双启动,我没有问题有相同的代码。

我不再有我描述的问题:这可能是非常具体的我的设置,因为它没有在其他地方报告。 我已经更新到节点4.2.1并安装了各种Windows更新,所以很难说原来的原因是什么。