process.stdout_read

process.stdout_read

process.stdout_read

功能

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

语法

参数

无参数。

返回值

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

示例

注意事项

  • stdout_read() 最多返回 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 总输出。
  • 未读缓冲超过 BT_PROCESS_PIPE_LIMIT 或 pipe_limit(bytes) 会返回运行时错误,后台线程会继续排空系统管道,避免子进程因管道写满而卡住。