javascript - Node.js 使用 spawn 两个子进程,那么两个子进程如何相互交换?

标签 javascript node.js child-process spawn

我有一个名为“A”的 ELF 程序,“A”是一个 tcp 服务器,我有一个名为“B”的 ELF 程序,“B”是一个 tcp 客户端。当“B”开始运行时,它会向服务器发送消息,而不判断服务器是否准备就绪。

现在我必须使用 Node.js 将“A”和“B”作为两个子进程运行,我怎样才能使“A”必须比“B”早运行?

我这样说:

socket.on('xxx', function() {    
    var A = spawn("A", ...);     
    ...      
    var B = spawn("B", ...);     
    setTimeout(B.sendToA, 500);       
    ...   
});

有什么好的idea吗?

感谢您的帮助!

最佳答案

既然你提到服务器在启动时输出一些信息,你可以监听它,然后在它启动时启动客户端。

类似于:

socket.on('xxx', function() {    
    var A = spawn("A", ...);
    A.stdin.write("yyy");
    A.stdout.on('data', function(e) {
        if(e.toString() === "yyy") {
            var B = spawn("B", ...);
            B.sendToA(); //I'm guessing this is a pseudo-method?
        }
    });
});

关于javascript - Node.js 使用 spawn 两个子进程,那么两个子进程如何相互交换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29144059/

相关文章:

javascript - 使用javascript选择所有多选选项

javascript - eventListener 被添加到父元素,但子元素干扰

javascript - jQuery 滚动方法不起作用

node.js - `fs.mkdir` 正在创建与指定权限不同的目录

node.js - 用 Jest 模拟继承的类

javascript - 从 javascript/Nodejs 中未知大小的字节流中解码前置的 VarInt

java - 从 Java 运行进程并观察其内存消耗

javascript - 在 d3js 中将文本附加到动画条形图

node.js - 如何使用 child_process 运行返回值列表的 bash 脚本?

java - Hadoop 作业未在大数据集中运行并抛出子错误