node.js中父/子进程之间的顺序通信

Sequential comunication between parent/child processes in node.js

本文关键字:顺序 通信 之间 子进程 js 中父 node      更新时间:2023-09-26

我需要在node中建立父进程和子进程之间的对话。

开头:

var child = cp.fork(__dirname + '/Child',[],{silent: true});

然后在parent上设置一个事件处理程序:

child.stdout.on('data', processChildResponses);

子进程监听标准输出并响应标准输出的写入。父级写入子级stdin以发送命令:

child.stdin.write("a command...'n");

然后我需要向child发送可变数量的命令,有些需要响应,有些不需要。对于那些需要响应的,我必须等待它(让我们假设永远),处理答案并发送另一个命令。

Child很简单,因为它只等待一个命令,回答它,然后等待另一个命令。所以没有问题。但是我和父母之间有很多问题。什么好主意吗?

在java或c#中这是一个非常简单的任务,但我想在node中完成。

为什么不直接使用child.send() (in parent)/process.send() (in child)?这样,您就不必担心缓冲和解析标准输出之类的问题。