process.stdout_read_lines
process.stdout_read_lines
功能
按行读取已启动子进程 stdout 当前可用文本。
语法
process(program).child().stdout_read_lines()
参数
无参数。
返回值
| 类型 | 说明 |
|---|---|
| Array | 返回本次读取到的 stdout 行数组。 |
| Empty | 未启动子进程、没有 stdout 管道、超时内没有新数据,或管道已关闭且剩余数据已读完。 |
示例
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() // 输出:["one","two"] print result
注意事项
- stdout_read_lines() 基于本次读取到的文本拆行,不会等待额外数据凑齐完整行。
- 单次读取仍受 BT_PROCESS_PIPE_READ_CHUNK 限制,大输出需要重复读取。
- 默认 BT_PROCESS_PIPE_LIMIT 为 1048576 字节,BT_PROCESS_PIPE_READ_CHUNK 为 8192 字节,BT_PROCESS_PIPE_TIMEOUT_MS 为 100 毫秒。