<p>IO.popen() and system() in Ruby is sorely lacking several useful features, such as:</p>

<ul>
<li>obtaining the return value of the function</li>
<li>capturing both stdout and stderr (seperately and merged)</li>
<li>running without spawning an extra cmd.exe or /bin/sh process</li>
</ul>

<p>Python has a module "subprocess" which I was thinking about using as inspiration for a similar module in Ruby. Now to the questions:</p>

<ul>
<li>How are Ruby-programmers working around the issues above, for example obtaining the return value when doing a popen() call?</li>
<li>Is this something which has already been implemented?</li>
</ul>

system() exit status can be captured with
```
$?.exitstatus
```
stderr can be captured with something like
```
system 'command 2>&1'
```