如何从child_process标准输出中检索对象?

问题描述 投票:1回答:1

我想在process服务器的不同实例上运行一些Node。我正在尝试使用child_process,我创建了一些循环并执行child_process

从child_process,我检索为Buffer和In对象格式,如下所示。

{ data: [], status: 'active', success: true }

我该如何将这些数据作为对象格式?

const child = spawn('node', ['app.js']); 
child.stdout.on('data', (data) => {
    // How can I apply filter over to ignore some data
    console.log(data)   // print buffer
    console.log(data.toString())   // print some stringify Obj
});

我们有什么办法可以从child_process发送app.js的数据,除了console.log

node.js instance child-process
1个回答
1
投票

如果app.js是节点脚本,则很容易将数据发送给调用者(反之亦然),例如:

index.js

const child_process = require('child_process');
const appInstance = child_process.fork('app.js', [], {});
appInstance.on('message', message => {
    console.log('Message from app.js:', message, JSON.stringify(message));
});

app.js

// Send some data to caller. 
const data = { status: 'ok', message: 'hello from app.js' };
if (process.send) {
    process.send(data);
}

如果你想过滤,有很多方法可以做到这一点。在消息处理程序中,您可以打开消息对象,例如if(message && message.status)。

© www.soinside.com 2019 - 2024. All rights reserved.