electron中child_process 的spawn如何子进程传给主进程值
时间: 2023-07-16 08:17:14 浏览: 124
子进程可以通过 stdout 和 stderr 属性将消息输出到主进程,主进程可以通过监听子进程的 stdout 和 stderr 事件来获取子进程输出的消息。
另外,子进程还可以通过 process.send() 方法将消息发送给主进程。主进程可以通过监听子进程的 message 事件来获取子进程发送的消息。
下面是一个示例代码:
子进程代码:
```
const { spawn } = require('child_process');
const child = spawn('node', ['child.js']);
child.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
child.send({ message: 'Hello from child' });
});
child.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
```
主进程代码:
```
const { fork } = require('child_process');
const child = fork('child.js');
child.on('message', (message) => {
console.log(`Received message from child: ${message}`);
});
```
在子进程中,通过 stdout.on() 和 stderr.on() 监听输出事件,并通过 process.send() 方法向主进程发送消息。
在主进程中,通过 fork() 方法创建子进程,并通过 child.on('message', listener) 监听子进程发送的消息。
阅读全文