Node.js 如何在child_过程中使用两个父分叉和一个子分叉?

Node.js 如何在child_过程中使用两个父分叉和一个子分叉?,node.js,fork,child-process,Node.js,Fork,Child Process,我正在尝试使用child\u process.fork()将数据从另一个进程发送到另一个进程。我感觉我就快到了 数据来自for loop,然后它发送POST请求并初始化子进程ffmpeg请求,然后使用承诺等待stdout中的数据,一旦发生这种情况,我将调用一个新函数,该函数派生一个发送对象的新子进程 我正在向socket-handler.js(不相关的名称)发送一个字符串化对象(或一个要测试的字符串) //第一个父级,从这里发送数据。 const child=fork(“./src/lib/so

我正在尝试使用
child\u process.fork()
将数据从另一个进程发送到另一个进程。我感觉我就快到了

数据来自
for loop
,然后它发送
POST
请求并初始化子进程ffmpeg请求,然后使用承诺等待
stdout
中的
数据,一旦发生这种情况,我将调用一个新函数,该函数派生一个发送对象的新子进程

我正在向socket-handler.js(不相关的名称)发送一个字符串化对象(或一个要测试的字符串) //第一个父级,从这里发送数据。 const child=fork(“./src/lib/socket handler.js”,[JSON.stringify(stream)];//似乎我不能在process.on('message')事件中使用process.send(),所以我尝试使用args。 send({message:“来自流处理程序”});//只是一个测试字符串

我无法在进程中使用process.send('message')。在('message')上,由于某些原因,它不会向另一个父级发送任何内容

 // child, socket-handler.js

process.on("message", function (obj) {
  // process.send(obj) // Doesn't emit anything.
});
process.send(process.argv[2]); // emits once, which is "undefined".
来自
process.argv[2]
的第一条消息实际上是
undefined
,然后是
dev
,然后是我发送的实际
obj
(作为字符串)。但是因为outside process.send只发送一次,所以我从第二个父级获得的信息是
未定义的

// second parent

  const child = fork("./src/lib/socket-handler.js", [], {
    silent: true,
  });
  child.on("message", function (message) {
    console.log("parent recieved message:", message);
  });
这是我获取数据的尝试。我什么也没得到。我甚至不知道我在这里得到的是
未定义的
,因为它很混乱

如何正确地执行此操作,以便从孩子那里获取数据