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

加迪A

每当我希望在Ruby中运行一些外部进程时,我都会写出这样的内容:

output = `outer_process`

这很好,并且过程的输出被放置在“输出”中。但是有时该过程需要很多时间并提供大量输出,我希望在屏幕停止运行之前就可以在屏幕上看到它。有没有办法做到这一点?

尼尔·斯莱特(Neil Slater)

看看open4宝石。有一些限制,但是假设您的流程将输出输出到STDOUT,则可以执行以下操作:

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

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

请注意,如果您调用的进程没有刷新STDOUT,则此操作将不会立即生效。如果您需要解决该限制,则需要为子进程提供一个终端,这在Ruby中是可能的,但更复杂-请参见对从Ruby中不断从外部进程的STDOUT读取的答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby:打印系统实时输出?

来自分类Dev

通过ssh实时查看脚本输出

来自分类Dev

在终端中查看Ruby的输出

来自分类Dev

将输出保存到变量中,实时查看输出

来自分类Dev

如何使用ruby实时捕获输出?

来自分类Dev

如何从外部查看QEMU / KVM VM的实时文件系统?

来自分类Dev

在C ++中查看system()调用的输出

来自分类Dev

实时显示外部命令的每一行输出

来自分类Dev

CodeIgniter POST 调用输出状态:303 查看其他

来自分类Dev

从外部方法在Ruby循环上调用next

来自分类Dev

以Tera术语实时查看日志文件,并暂停终端输出一段时间

来自分类Dev

node.js调用外部exe并等待输出

来自分类Dev

实时捕获Jython输出

来自分类Dev

实时解析程序输出

来自分类Dev

实时输出重定向

来自分类Dev

cURL实时输出CLI

来自分类Dev

实时捕获Jython输出

来自分类Dev

php实时输出system()

来自分类Dev

实时更改bjobs输出

来自分类Dev

如何实时显示从另一个Ruby脚本启动的脚本的输出?

来自分类Dev

如何实时显示从另一个Ruby脚本启动的脚本的输出?

来自分类Dev

如何从Powershell调用批处理,以便可以在Powershell控制台中看到实时输出

来自分类Dev

ffmpeg 中调用的“实时状态文本输出”数据是什么,列可以自定义吗?

来自分类Dev

如何查看外部的终端(tty)输出?(不是新的ssh会话,而是当前发生的情况)

来自分类Dev

如何忽略参数化Ruby系统调用的输出

来自分类Dev

无法从外部查看ftp

来自分类Dev

如何在没有任何外部库的情况下从 Clojure 执行程序并实时显示其输出?

来自分类Dev

实时修改Shell标准输出

来自分类Dev

实时修改`tail -f`输出

Related 相关文章

热门标签

归档