NodeJS集群错误:SIGSEGV

时间:2015-02-04 09:16:20

标签: node.js

我使用nodejs cluster

var cluster = require('cluster');
var numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
   for (var i = 0; i < numCPUs; i++){
      var worker = cluster.fork();
      worker.on('exit', function(code, signal) {
        console.log("worker was killed by signal: " + signal);
      });
   }
}

有时候我会有不同的时间间隔错误

worker was killed by signal: SIGSEGV

这个错误意味着什么,为什么她打电话? 节点版本v0.11.14-pre,Debian

1 个答案:

答案 0 :(得分:0)

不确切知道答案,但认为这可能会有所帮助。

使用phantomJs我有时会 同样的错误(更改工作人员的信号)。情况:我正在使用phantomJs打开一个页面;当身体准备就绪时我想要回调,然后我关闭了幻影。 grosso modo我的代码是:

phantom.create(function (ph) {
  ...
  callbackDone(result);
  ph.exit();
});

这样做,例外是:

 signal killed phantomjs: SIGSEGV

此时我意识到重击回调任务正在打破只是。换句话说,如果exit()之前的回调函数很轻松:一切都很好;但在不同的条件下它会崩溃。

解决方案:在回调之前关闭对象:

  ph.exit();
  callbackDone(result);