Subprocessing with popen or popen3?

Currently I have a class MyServer that extends IO, and then I call:

server = MyServer.popen(COMMAND, 'r+)

The only problem is I need to separate stderr and stdout. I contemplated
popen3, but I don’t see how I can make it associated with an object,
which I need in the program. And in addition, it seems to lack a way to
get the pid.

I could theoretically create the stderr, stdout and stdin within the
MyServer class at initialization for popen3, but then I can’t use the
pid to kill the process when I call the shutdown method. Any ideas?

You might find my framework “rexec” useful:

RExec [Orion Transfer Wiki]

More specifically:
[RDOC]
http://gems.oriontransfer.org/doc_root/rexec-1.1.6/rdoc/index.html
RExec::Task

rexec can help you make a daemon:
RubyDNS and RExec Updates [Orion Transfer Wiki]

Kind regards,
Samuel

Thats odd, it seems like all the URLs were stripped out… :confused:

http://wiki.oriontransfer.org/code:rexec.git
http://wiki.oriontransfer.org/blog:
2009:08:29:rubydns_and_rexec_updates

Let me know more about what you are doing and I might be able to help.

Kind regards,
Samuel