【发布时间】:2014-12-28 04:58:50
【问题描述】:
我正在尝试从 ruby 运行 gnuplot(不使用外部 gem)并解析其文本输出。我尝试了IO.popen、PTY.spawn 和Open3.popen3,但每当我尝试获取输出时,它只会“挂起”——我猜是在等待更多输出。我觉得它以某种方式使用Thread.new 完成了,但我找不到正确的方法来实现它。
有人知道它是怎么做的吗?
【问题讨论】:
-
如果这是标准输出,请尝试通过 shell 命令获取它。将您的命令用反引号 (
`command`) 或使用%x(command) -
我正在尝试运行一个交互式程序。
-
不知怎的,我错过了标题。对不起。你到底用
Open3尝试了什么? -
i, o, e, th = Open3.popen3('gnuplot'); putc o.readchar while !o.eof?
标签: ruby stdout popen interactive