我试过阅读subprocess.stdout,但是节点文档明确声明“如果子进程是在stdio[1]设置为'pipe'以外的任何值的情况下产生的,那么这将是null。”这不是我想要的,因为我需要继承。
我还尝试在我的子进程中使用process.send(),但也不起作用。
下面是我的代码btw:
const {spawn} = require('child_process');
const child = spawn('node index.js', {
shell: process.env.ComSpec,
stdio: 'inherit'
});
2条答案
按热度按时间0pizxfdo1#
你试过吗?
https://nodejs.org/api/child_process.html#optionsstdio
9wbgstp72#
是的,你可以,答案可以在Node.js文档中找到。
如果您在Windows上运行此进程,请阅读本节,您将希望确保子进程在终端(Windows上的cmd.exe)中运行。
您应该能够用途:
或
基本上,调用“spawn(...)”将返回一个ChildProcess,它是一个EvenEmitter。它有两个输出流,“stderr"和“stdout",您将侦听它们上的“data”事件。
如何监听正常输出和错误:
要了解子进程何时存在,请侦听“close”事件