open3死锁
根据open3的死锁条件,当需要构建大量输出在stderr中,open3就会死锁。
|
我遇到的情况是stdout的输出内容较多,所以推测如果有错的话,stderr也会有大量输出,这样就会造成open3死锁。
解决
根据官方文档提示,需要同时读取stderr和stdout,我们使用
IO.select
实现
|
参考
- 本文作者: luckyship
- 本文链接: https://luckyship.github.io/2019/03/29/2019-03-29-ruby-open3死锁/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!