是否可以使用pid查找进程并向其发送消息?

时间:2016-07-04 12:00:52

标签: node.js

我有一个父进程,它会分叉一些子进程。我正在寻找子进程如何使用消息与父进程通信的方式。我尝试将父母的pid发送给子进程,如果我可以使用父亲的pid发回消息,那将会很棒。

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您使用child_process.fork(),那么当您创建新分叉时,会返回Child Process

根据文件:

  

返回的ChildProcess将进行额外的通信   内置的通道,允许消息来回传递   父母和孩子之间。有关详细信息,请参阅child.send()。

     

重要的是要记住产生的Node.js子进程   除了IPC通信之外,它们独立于父级   在两者之间建立的渠道。每个过程都有自己的过程   内存,带有自己的V8实例。因为额外的   需要资源分配,产生大量的孩子   不建议使用Node.js进程。

这是child.send

的文件

你可以在哪里找到这段代码:

例如,在父脚本中:

const cp = require('child_process');
const n = cp.fork(`${__dirname}/sub.js`);

n.on('message', (m) => {
  console.log('PARENT got message:', m);
});

n.send({ hello: 'world' });

然后子脚本'sub.js'看起来像这样:

process.on('message', (m) => {
  console.log('CHILD got message:', m);
});

process.send({ foo: 'bar' });