r, w = IO.pipe
if fork
w.close
until r.eof? do
input = r.read(2048)
puts input
end
r.close
Process.wait
else
r.close
loop do
str = gets.chomp
break if str == 'exit'
w << str
end
w.close
end
只有在输入 exit 之后,才可以打印输入的内容。
有没有方法可以使其只要输入就马上打印呢?(尝试过 IO#flush 好像没什么用)
tail -f xxx.log | grep xxx
这种管道又是怎么实现的?