### Affected URL(s) https://nodejs.org/docs/latest-v16.x/api/child_process.html#subprocessstdout ### Description of the problem > The `subprocess.stdout` property can be null if the child process could not be successfully spawned. However, it can be `undefined` in some cases: ```console $ docker run --rm -it node:16 /bin/bash root@c12d92a299db:/# ulimit -n 17 root@c12d92a299db:/# node -e 'p=require("child_process").spawn("uname");p.stdout.on("data",console.log)' [eval]:1 p=require("child_process").spawn("uname");p.stdout.on("data",console.log) ^ TypeError: Cannot read properties of undefined (reading 'on') at [eval]:1:52 at Script.runInThisContext (node:vm:129:12) at Object.runInThisContext (node:vm:305:38) at node:internal/process/execution:76:19 at [eval]-wrapper:6:22 at evalScript (node:internal/process/execution:75:60) at node:internal/main/eval_string:27:3 root@c12d92a299db:/# node -e 'console.log(require("child_process").spawn("uname"))' <ref *1> ChildProcess { _events: [Object: null prototype] {}, _eventsCount: 0, _maxListeners: undefined, _closesNeeded: 1, _closesGot: 0, connected: false, signalCode: null, exitCode: null, killed: false, spawnfile: 'uname', _handle: Process { onexit: [Function (anonymous)], [Symbol(owner_symbol)]: [Circular *1] }, spawnargs: [ 'uname' ], [Symbol(kCapture)]: false } node:events:505 throw er; // Unhandled 'error' event ^ Error: spawn uname EMFILE at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19) at onErrorNT (node:internal/child_process:478:16) at processTicksAndRejections (node:internal/process/task_queues:83:21) Emitted 'error' event on ChildProcess instance at: at Process.ChildProcess._handle.onexit (node:internal/child_process:289:12) at onErrorNT (node:internal/child_process:478:16) at processTicksAndRejections (node:internal/process/task_queues:83:21) { errno: -24, code: 'EMFILE', syscall: 'spawn uname', path: 'uname', spawnargs: [] } ``` I think this should be documented.