From df54edc6686d34712bbf1f27c4f0edd09cbc7985 Mon Sep 17 00:00:00 2001 From: Anu Pasumarthy Date: Thu, 1 Apr 2021 09:09:11 -0400 Subject: [PATCH] doc: document how to unref stdin when using readline.Interface PR-URL: https://github.com/nodejs/node/pull/38019 Fixes: https://github.com/nodejs/node/issues/36154 Reviewed-By: Antoine du Hamel Reviewed-By: Darshan Sen --- doc/api/readline.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/api/readline.md b/doc/api/readline.md index ed8f3777467d4d..c7bb1b3d782678 100644 --- a/doc/api/readline.md +++ b/doc/api/readline.md @@ -556,6 +556,17 @@ the best compatibility if it defines an `output.columns` property and emits a `'resize'` event on the `output` if or when the columns ever change ([`process.stdout`][] does this automatically when it is a TTY). +When creating a `readline.Interface` using `stdin` as input, the program +will not terminate until it receives `EOF` (Ctrl+D on +Linux/macOS, Ctrl+Z followed by Return on +Windows). +If you want your application to exit without waiting for user input, you can +[`unref`][] the standard input stream: + +```js +process.stdin.unref(); +``` + ### Use of the `completer` function The `completer` function takes the current line entered by the user @@ -891,3 +902,4 @@ const { createInterface } = require('readline'); [`process.stdout`]: process.md#process_process_stdout [`rl.close()`]: #readline_rl_close [reading files]: #readline_example_read_file_stream_line_by_line +[`unref`]: net.md#net_socket_unref