當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。