当所有连接都关闭时,此 Node.js 服务器将在 Ctrl+C 上完全关闭。
var http = require('http');
var app = http.createServer(function (req, res) {
res.end('Hello');
});
process.on('SIGINT', function() {
console.log('Closing...');
app.close(function () {
console.log('Closed.');
process.exit();
});
});
app.listen(3000);
这样做的问题是它包括keepalive连接。如果您在 Chrome 中打开此应用程序的选项卡,然后尝试 Ctrl+C 它,则当 Chrome 最终释放连接时,它不会关闭大约 2 分钟。
是否有一种干净的方法可以检测何时不再有 HTTP 请求,即使某些连接仍处于打开状态?