process.stdin.on('data')接收不到主进程stdin.write传递的值
时间: 2024-02-01 18:16:56 浏览: 96
Node.js之readline模块的使用详解
这种情况可能是因为你的主进程和子进程之间的通信不正确导致的。
首先,确保你在主进程中正确地将数据写入标准输入流中,例如:
```
process.stdin.write('Hello World');
```
然后,在子进程中,你需要监听 `process.stdin` 的 `data` 事件,并从中读取数据。这里有一个简单的示例:
```
process.stdin.on('data', function(data) {
console.log('Received data: ' + data.toString());
});
```
如果你仍然无法接收到数据,那么可能是因为你没有正确地将子进程的标准输入流连接到主进程的标准输出流。你可以使用 `child_process.spawn` 方法来创建子进程,并将 `stdio` 选项设置为 `'inherit'` 来实现这一点:
```
const { spawn } = require('child_process');
const child = spawn('node', ['child.js'], { stdio: 'inherit' });
child.stdin.write('Hello World');
```
这将把子进程的标准输入流连接到主进程的标准输出流,使得你可以在主进程中写入数据,并在子进程中读取到。
阅读全文