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

标签 ruby subprocess stdout

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

最佳答案

你可以使用IO.popen

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

关于ruby - 如何在 ruby​​ 中使用反引号开始子进程的连续输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1071585/

相关文章:

ruby - 作为守护进程运行 stalker(Ruby gem)

Bash 将输出重定向到 tty 和文件

无法从重定向的 io 中读取数据

python - 在运行时与 python 子进程通信

python - 解析命令调用的输出

ruby - Ubuntu 12 上的 Sinatra - SSL 错误

javascript - 使用 capybara/selenium 访问 javascript 文件中的函数

ruby - 在 block /lambda 中产生问题

Python 子进程读取

python - gzip.open 作为 subprocess.Popen 的标准输入