当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js ChildProcess subprocess.stdio用法及代码示例


subprocess.stdio

添加于:v0.7.10

子进程的稀疏管道数组,对应于传递给 child_process.spawn() stdio 选项中的位置,这些位置已设置为值 'pipe'subprocess.stdio[0]subprocess.stdio[1]subprocess.stdio[2] 也可分别用作 subprocess.stdinsubprocess.stdoutsubprocess.stderr

在下面的示例中,只有孩子的 fd 1 (stdout) 被配置为管道,因此只有父的 subprocess.stdio[1] 是流,数组中的所有其他值都是 null

const assert = require('node:assert');
const fs = require('node:fs');
const child_process = require('node:child_process');

const subprocess = child_process.spawn('ls', {
  stdio: [
    0, // Use parent's stdin for child.
    'pipe', // Pipe child's stdout to parent.
    fs.openSync('err.out', 'w'), // Direct child's stderr to a file.
  ]
});

assert.strictEqual(subprocess.stdio[0], null);
assert.strictEqual(subprocess.stdio[0], subprocess.stdin);

assert(subprocess.stdout);
assert.strictEqual(subprocess.stdio[1], subprocess.stdout);

assert.strictEqual(subprocess.stdio[2], null);
assert.strictEqual(subprocess.stdio[2], subprocess.stderr);

如果无法成功生成子进程,则 subprocess.stdio 属性可以是 undefined

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 subprocess.stdio。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。