【问题标题】:Default SIGINT in Node.js?Node.js 中的默认 SIGINT?
【发布时间】:2012-11-20 20:43:16
【问题描述】:

我尝试搜索 Node.js 源代码,但找不到。默认情况下,我在哪里可以找到在以下示例中默认处理 SIGINT (Ctrl+C) 的 Node.js 代码:

var http = require('http');

var server = http.createServer(function(req, res) {
  res.writeHead(200);
  res.end('Hello Http');
});


server.listen(5001);

【问题讨论】:

  • 在你的例子中没有处理 SIGINT,除了 Node 本身。

标签: node.js sigint


【解决方案1】:

Node 的默认 SIGINT 处理程序在 node.cc 中,但它并没有做太多。它调用了signalExit,它确实

uv_tty_reset_mode();
_exit(1);

您可以在 node.js 中添加自己的处理程序

process.on('SIGINT', function () {
    // handle
});

【讨论】:

  • 谢谢!这也解释了为什么我在 .js 源代码中找不到它。
【解决方案2】:

您必须自己添加。 http://nodejs.org/api/process.html#process_signal_events

process.on('SIGINT', function () {
    //do stuff here.
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多