diff --git a/doc/api/child_process.md b/doc/api/child_process.md index 045f34352a92ee..f70d96a3395300 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -1061,6 +1061,15 @@ pipes between the parent and child. The value is one of the following: corresponds to the index in the `stdio` array. The stream must have an underlying descriptor (file streams do not start until the `'open'` event has occurred). + **NOTE:** While it is technically possible to pass `stdin` as a writable or + `stdout`/`stderr` as readable, it is not recommended. + Readable and writable streams are designed with distinct behaviors, and using + them incorrectly (e.g., passing a readable stream where a writable stream is + expected) can lead to unexpected results or errors. This practice is discouraged + as it may result in undefined behavior or dropped callbacks if the stream + encounters errors. Always ensure that `stdin` is used as writable and + `stdout`/`stderr` as readable to maintain the intended flow of data between + the parent and child processes. 7. Positive integer: The integer value is interpreted as a file descriptor that is open in the parent process. It is shared with the child process, similar to how {Stream} objects can be shared. Passing sockets