open4 gets you an IO handle, see here for reading one line at a time:

```
 % ruby -ropen4 -e 'Open4.popen4("seq 3; sleep 2; seq 3") { |pid, stdin, stdout, stderr| stdin.close; stdout.each { |line| puts "#{Time.now} - Line: #{line.chomp}" } }'
2013-01-11 18:17:37 -0800 - Line: 1
2013-01-11 18:17:37 -0800 - Line: 2
2013-01-11 18:17:37 -0800 - Line: 3
2013-01-11 18:17:39 -0800 - Line: 1
2013-01-11 18:17:39 -0800 - Line: 2
2013-01-11 18:17:39 -0800 - Line: 3
```

I'll merge as-is and fix it up to emit in a timely fashion :)