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);
});
这是我获取数据的尝试。我什么也没得到。我甚至不知道我在这里得到的是未定义的
,因为它很混乱
如何正确地执行此操作,以便从孩子那里获取数据