• {Array}

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

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

    1. const assert = require('assert');
    2. const fs = require('fs');
    3. const child_process = require('child_process');
    4. const subprocess = child_process.spawn('ls', {
    5. stdio: [
    6. 0, // 使用父进程的 stdin 用于子进程。
    7. 'pipe', // 把子进程的 stdout 通过管道传到父进程 。
    8. fs.openSync('err.out', 'w') // 把子进程的 stderr 定向到一个文件。
    9. ]
    10. });
    11. assert.strictEqual(subprocess.stdio[0], null);
    12. assert.strictEqual(subprocess.stdio[0], subprocess.stdin);
    13. assert(subprocess.stdout);
    14. assert.strictEqual(subprocess.stdio[1], subprocess.stdout);
    15. assert.strictEqual(subprocess.stdio[2], null);
    16. assert.strictEqual(subprocess.stdio[2], subprocess.stderr);