McMahon, Chris wrote:
>  
> Hello...
> 	I'm new to Ruby and I need some help with managing an external
> process.  I'm on Windows, and I want to do something (overly simplified)
> like this: 
> 
> File.new(file_to_be_handled_by_outside_process.txt)
> system ("C:\\filewatcher.exe file_to_be_handled_by_outside_process.txt")
> <write stuff to file_to_be_handled_by_outside_process.txt>
> 
> 	The foreign process started by system() never stops.  I need to
> return control to the Ruby script after the system() call so that I can
> have the Ruby script generate information for the foreign process to
> handle.  
> 	Any suggestions would be welcome... 
> -Chris   

Just doing the system call in a thread works on windows,

Thread.new do
   system "foo"
end

# code to keep processing while foo runs...


For example:

Thread.new do
   system "sleep 10"
   puts "slept"
end

loop do
   puts "hello"
   sleep 1
end


I ran this on linux, but I'm pretty sure it works on windows too.

But you may want to consider popen, as was suggested, so you don't have 
concurrency problems with the two processes accessing the file.