# process.stdout_read_lines ## Function Read the currently available text of the started child process stdout line by line. ## Syntax ```bt process(program).child().stdout_read_lines() ``` ## Parameters No parameters. ## Return value | Type | Description | | ------ | ------ | | Array | Returns the array of stdout lines read this time. | | Empty | The child process has not been started, there is no stdout pipe, there is no new data within the timeout, or the pipe has been closed and the remaining data has been read. | ## Example ```bt if BT.OS == 'windows' { cmd = process('cmd').args(['/C', 'echo one&&echo two']).child() } else { cmd = process('sh').args(['-c', "printf 'one\\ntwo\\n'"]).child() } cmd.wait() result = cmd.stdout_read_lines() // Output: ["one","two"] print result ``` ## Notes - stdout_read_lines() splits lines based on the text read this time and does not wait for additional data to complete the lines. - A single read is still limited by BT_PROCESS_PIPE_READ_CHUNK, and large output requires repeated reads. - The default BT_PROCESS_PIPE_LIMIT is 1048576 bytes, BT_PROCESS_PIPE_READ_CHUNK is 8192 bytes, and BT_PROCESS_PIPE_TIMEOUT_MS is 100 milliseconds; a single Process can use pipe_limit(bytes) to override the unread buffer limit. - BT_PROCESS_PIPE_LIMIT limits the current unread buffer and does not limit the historical cumulative output; as long as it continues to read, the long-term progress stream can exceed 1MB of total output.