# process.stderr_read_lines ## 功能 按行读取已启动子进程 stderr 当前可用文本。 ## 语法 ```bt process(program).child().stderr_read_lines() ``` ## 参数 无参数。 ## 返回值 | 类型 | 说明 | | ------ | ------ | | Array | 返回本次读取到的 stderr 行数组。 | | Empty | 未启动子进程、没有 stderr 管道、超时内没有新数据,或管道已关闭且剩余数据已读完。 | ## 示例 ```bt if BT.OS == 'windows' { cmd = process('cmd').args(['/C', 'echo err1 1>&2&&echo err2 1>&2']).child() } else { cmd = process('sh').args(['-c', "printf 'err1\\nerr2\\n' >&2"]).child() } cmd.wait() result = cmd.stderr_read_lines() // 输出:["err1","err2"] print result ``` ## 注意事项 - stderr_read_lines() 基于本次读取到的文本拆行,不会等待额外数据凑齐完整行。 - 单次读取仍受 BT_PROCESS_PIPE_READ_CHUNK 限制,大输出需要重复读取。 - 默认 BT_PROCESS_PIPE_LIMIT 为 1048576 字节,BT_PROCESS_PIPE_READ_CHUNK 为 8192 字节,BT_PROCESS_PIPE_TIMEOUT_MS 为 100 毫秒;单个 Process 可用 pipe_limit(bytes) 覆盖未读缓冲上限。 - BT_PROCESS_PIPE_LIMIT 限制当前未读缓冲,不限制历史累计输出;只要持续读取,长时间错误流可以超过 1MB 总输出。