node.js - 如何使用 stdio 选项 'inherit' 读取 child_process.spawnSync stdout

标签 node.js child-process spawn

var childProcess = cp.spawnSync(command, args, {
    cwd: process.cwd(),
    env: process.env,
    stdio: 'inherit',
    encoding: 'utf-8'
});

childProcess.output 总是 eq [null, null, null]

process.stdout.write 钩子(Hook)没有给我任何输出

最佳答案

如果您不使用 'pipe',则 childProcess.output 将不包含输出。

var cp = require('child_process');

var command = 'echo';
var args = ['hello', 'world'];

var childProcess = cp.spawnSync(command, args, {
    cwd: process.cwd(),
    env: process.env,
    stdio: 'pipe',
    encoding: 'utf-8'
});

console.log(childProcess.output); // [ null, 'hello world\n', '' ]

这有点像在 documentation for child.stdout 中指出的和其他地方,但它并不完全明确。 (无论如何,如果您希望看到它得到改进,请针对 the Node.js repo 打开拉取请求。)

关于node.js - 如何使用 stdio 选项 'inherit' 读取 child_process.spawnSync stdout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35689080/

相关文章:

javascript - 将后端快速 session 变量传递给 Angular

node.js - 如何从 console.log 获取文本标准输出(需要 ("child_process").execSync ('ls' ))?

node.js - 如何在 443 上运行 Nodejs 服务器,确保 nginx 不会停止工作

c - 写入文件描述符

node.js - child_process.execSync 返回的缓冲区不完整

Firebase 云函数错误生成缩略图 : spawn convert ENOENT

javascript - ImageMagick 比较 : exit code 1 when spawned from Node. js,但从命令行运行时退出代码 0

javascript - 如何将 Ghostcript 生成到 Node.js 环境中

javascript - node.js/ES6/类创建: SyntaxError: Unexpected reserved word

node.js - NodeJS 从 https 流写入二进制文件