process.stderr_read
process.stderr_read
功能
读取已启动子进程 stderr 当前可用文本。
语法
process(program).child().stderr_read()
参数
无参数。
返回值
| 类型 | 说明 |
|---|---|
| String | 返回本次读取到的 stderr 文本;子进程真实零字节输出的第一次读取返回 ''。 |
| Empty | 未启动子进程、没有 stderr 管道、超时内没有新数据,或管道已关闭且剩余数据已读完。 |
示例
if BT.OS == 'windows' { cmd = process('cmd').args(['/C', 'echo BT_ERR 1>&2']).child() } else { cmd = process('sh').args(['-c', 'printf BT_ERR >&2']).child() } cmd.wait() result = cmd.stderr_read().trim() // 输出:BT_ERR print result
注意事项
- stderr_read() 最多返回 BT_PROCESS_PIPE_READ_CHUNK 字节;需要读取更多输出时可以重复调用。
- stderr 和 stdout 分别计算 BT_PROCESS_PIPE_LIMIT。
- 默认 BT_PROCESS_PIPE_LIMIT 为 1048576 字节,BT_PROCESS_PIPE_READ_CHUNK 为 8192 字节,BT_PROCESS_PIPE_TIMEOUT_MS 为 100 毫秒。