在我下面的代码中,错误没有被 processChildOne.js 抛出的 Parent.js 捕获
// Parent.js
var cp = require('child_process');
var childOne = cp.fork('./processChildOne.js');
var childTwo = cp.fork('./processChildTwo.js');
childOne.on('message', function(m) {
// Receive results from child process
console.log('received1: ' + m);
});
// Send child process some work
childOne.send('First Fun');
childTwo.on('message', function(m) {
// Receive results from child process
console.log('received2: ' + m);
});
// Send child process some work
childTwo.send('Second Fun');
// processChildOne.js
process.on('message', function(m) {
var conn = mongoose.createConnection('mongodb://localhost:27017/DB');
conn.on('error', console.error.bind(console, 'connection error:'));
// Pass results back to parent process
process.send("Fun1 complete");
});
如果 processChildOne.js 失败,如何向父级抛出错误,以便 processChildOne.js 和 processChildTwo.js 都应该被杀死。我们如何跟踪已经执行了多少子进程以及仍有多少子进程处于待处理状态。
提前致谢