我遇到了一个问题,其中重新加载(ctrl + c,然后再次运行node app
)基本Node.js服务器(尝试v0.12.0和v0.12.7 )在Windows 10上导致服务器在重新加载前挂起约20秒。当使用像PM2这样的工具来观看我的服务器时,在对文件进行任何更新之后出错,并且日志显示EADDRINUSE错误。在Windows 10上重新运行Node.js服务器时出现EADDRINUSE错误
我熬下来,以最简单的可能的例子(想这可能是与快递的问题),但它仍然与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进程没有及时关闭并释放端口。我也尝试过使用ctrl + break,并且还捕获SIGINT并手动调用process.exit()。我可以确认它捕捉到信号,但它仍然如上所述挂起。
我第一次在从7升级到Windows 10后才注意到这一点,之前没有问题,所以我认为这是最有可能的罪魁祸首。我使用Ubuntu 14.04进行双启动,并且使用相同的代码在那里没有问题。
这意味着服务器已经在运行,在启动服务器之前尝试查找和查杀进程 – aelor
第一次运行它时,它不是问题,服务器启动正常。它关闭后重新开始,它不会回应。也就是说,我查找了其他任何节点进程,但没有看到任何运行。 –