Skip to main content
ChildProcess.prototype.stdio - node__child_process.d.ts - Node documentation
property ChildProcess.prototype.stdio

Usage in Deno

```typescript import { ChildProcess } from "node:node__child_process.d.ts"; ```
A sparse array of pipes to the child process, corresponding with positions in the `stdio` option passed to [spawn](../.././node__child_process.d.ts/~/spawn) that have been set to the value `'pipe'`. `subprocess.stdio[0]`, `subprocess.stdio[1]`, and `subprocess.stdio[2]` are also available as `subprocess.stdin`, `subprocess.stdout`, and `subprocess.stderr`, respectively. In the following example, only the child's fd `1` (stdout) is configured as a pipe, so only the parent's `subprocess.stdio[1]` is a stream, all other values in the array are `null`. ```js import assert from 'node:assert'; import fs from 'node:fs'; import child_process from '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); ``` The `subprocess.stdio` property can be `undefined` if the child process could not be successfully spawned.

Type

[
Writable | null,
Readable | null,
Readable | null,
Readable
| Writable
| null
| undefined
,
Readable
| Writable
| null
| undefined
,
]