Как отправить сообщение родительскому процессу

Можно ли отправить сообщение родительскому процессу?

мастер

var child =child_process.fork();

child.send({msg:msg})

дочерний процесс

process.on('message', function(){

});

// how to send message to parent??

Ответы

Ответ 1

Короче говоря: process.send()

Более длинный пример, я написал некоторое время назад под именем forktest.js:

var cp = require('child_process');

if (!process.send) {
  var p = cp.fork(__dirname + '/forktest');
  p.send({
    count: 10
  });
  p.on('message', function(data) {
    process.exit(0);
  });
} else {
  process.on('message', function(data) {
    console.log(data);
    data.count--;
    if (data.count === 0) {
      process.send({});
      process.exit(0);
    }
    var p = cp.fork(__dirname + '/forktest');
    p.send(data);
    p.on('message', function(data) {
      process.send(data);
      process.exit(0);
    });
  });
}