child_process.fork如何打开子进程并且传值
时间: 2023-11-22 22:53:04 浏览: 40
使用 `child_process.fork()` 方法可以创建一个新的 Node.js 子进程。这个方法接收一个文件路径作为参数,这个文件就是子进程要执行的脚本。
在父进程中,可以通过 `send()` 方法将消息发送给子进程。在子进程中,可以通过监听 `process.on('message', handler)` 事件来接收消息。
以下是一个例子,演示了如何打开子进程并且传值:
父进程代码:
```javascript
const { fork } = require('child_process');
const child = fork('child.js');
child.send({ message: 'hello' });
child.on('message', (data) => {
console.log(`Received message from child: ${JSON.stringify(data)}`);
});
```
子进程代码(child.js):
```javascript
process.on('message', (data) => {
console.log(`Received message from parent: ${JSON.stringify(data)}`);
// do something with the data
// send a response back to the parent process
process.send({ response: 'world' });
});
```
在上面的例子中,父进程调用了 `fork()` 方法打开了一个名为 `child.js` 的脚本作为子进程。然后,父进程通过 `send()` 方法向子进程发送了一个带有数据的消息。
在子进程中,当收到消息时,它会打印消息内容并且发送一个响应给父进程。父进程监听子进程的消息并且打印响应内容。