Joel VanderWerf wrote:

>
> Use a ruby thread to manage the external process. There are some libs
> for this (session is one, I think it will give you better access to
> in/out/err streams). But ruby itself has some basic support:
>
> cmd_th = Thread.new do
>   system "something"
> end
>
> if user_presses_stop
>   cmd_th.kill
> end

This very well may be exactly what I had in mind.  I haven't had a
chance to touch a Windows box but will be able to this afternoon so
I'll let you know how it turns out.  Thanks!