gpt4 book ai didi

Ruby:即时查看外部调用的输出

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:10 25 4
gpt4 key购买 nike

每当我想在 Ruby 中运行一些外部进程时,我都会写这样的东西:

output = `outer_process`

这很好用,过程的输出放在“output”中。但有时这个过程会花费很多时间并提供很多输出,我希望在它停止运行之前就在屏幕上看到它。有办法做到这一点吗?

最佳答案

看看 open4 gem。存在一些限制,但假设您的进程有输出到 STDOUT,您可以执行如下操作:

Open4.open4( outer_process ) do | pid, pstdin, pstdout, pstderr |
pstdout.each { |line| puts line }
end

就底层机制而言,这与 Anand 在评论中的建议非常相似。

请注意,如果您调用的进程没有刷新 STDOUT,这将不会立即起作用。如果您需要解决该限制,您将需要为子进程提供一个终端,这在 Ruby 中是可能的,但更复杂 - 请参阅对 Continuously read from STDOUT of external process in Ruby 的回答。

关于Ruby:即时查看外部调用的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17547216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com