# process.stdout_read

## 功能

读取已启动子进程 stdout 当前可用文本。

## 语法

```bt
process(program).child().stdout_read()
```

## 参数

无参数。

## 返回值

| 类型 | 说明 |
| ------ | ------ |
| String | 返回本次读取到的 stdout 文本；子进程真实零字节输出的第一次读取返回 `''`。 |
| Empty | 未启动子进程、没有 stdout 管道、超时内没有新数据，或管道已关闭且剩余数据已读完。 |

## 示例

```bt
if BT.OS == 'windows' {
    cmd = process('cmd').args(['/C', 'echo BT']).child()
} else {
    cmd = process('sh').args(['-c', 'printf BT']).child()
}

cmd.wait()
result = cmd.stdout_read().trim()

// 输出：BT
print result
```

## 注意事项

- stdout_read() 最多返回 BT_PROCESS_PIPE_READ_CHUNK 字节；需要读取更多输出时可以重复调用。
- 默认 BT_PROCESS_PIPE_LIMIT 为 1048576 字节，BT_PROCESS_PIPE_READ_CHUNK 为 8192 字节，BT_PROCESS_PIPE_TIMEOUT_MS 为 100 毫秒。
- 超过 BT_PROCESS_PIPE_LIMIT 会返回运行时错误，后台线程会继续排空系统管道，避免子进程因管道写满而卡住。
