如何在ruby中使用反引号开始连续输出子进程

Bal*_*ala 6 ruby subprocess stdout

我有一个ruby应用程序,使用反引号执行ant作为子进程.这没有任何问题.当我执行put时ant,ruby等待子进程,ant,完全完成,然后将输出打印到stdout.如何让ruby连续打印子进程的输出?

Sar*_*Mei 10

你可以用IO.popen.

IO.popen("ant") do |output| 
    while line = output.gets do
        # ... maybe puts line? something more interesting?
    end
end
Run Code Online (Sandbox Code Playgroud)