如何检查PTY是否在等待输入

时间:2017-06-22 18:50:04

标签: python ruby

我目前正在创建一个ruby脚本,它接受一个python脚本并打印输出。 ruby代码与here

大致相同
begin
  PTY.spawn("python temp.py") do |stdout, stdin, pid|
    begin
      stdout.each { |line| print line }
    rescue Errno::EIO
      puts ""
    end
  end
rescue PTY::ChildExited
  puts "The child process exited!"
end

为了测试,python代码很简单:

for each in range(10):
    print each
raw_input(">")

运行ruby文件时,它会打印0到10,然后挂起而不打印“>”符号。这是预期的,因为Python正在等待用户输入。

然而,是否可以让PTY打印0到10,“>”符号,然后结束这个过程呢?要做到这一点,我认为Ruby必须检查PTY是否在等待输入,但是如何做呢?

0 个答案:

没有答案