child_process.swpn如何打开子进程并且传值
时间: 2023-11-22 15:53:04 浏览: 139
使用 `child_process.spawn` 方法可以打开子进程,同时可以向子进程发送参数。具体方法如下:
```javascript
const { spawn } = require('child_process');
// 启动子进程
const child = spawn('node', ['child.js', 'param1', 'param2']);
// 监听子进程的输出
child.stdout.on('data', (data) => {
console.log(`输出:${data}`);
});
// 向子进程发送数据
child.stdin.write('hello');
child.stdin.end();
```
在上述代码中,我们通过 `spawn` 方法启动一个名为 `child.js` 的子进程,并向其传递了两个参数 `param1` 和 `param2`。同时,我们监听了子进程的输出,并向其发送了一个字符串 `hello`。
在子进程中,可以通过 `process.argv` 获取传递的参数,如下所示:
```javascript
console.log(process.argv[2]); // 输出:param1
console.log(process.argv[3]); // 输出:param2
```
同时,子进程可以通过 `process.stdin` 获取主进程传递的数据,如下所示:
```javascript
process.stdin.on('data', (data) => {
console.log(`接收到数据:${data}`);
});
```
阅读全文