From: "Marvin Gülker" Date: 2009-11-23T22:41:33+09:00 Subject: Re: Killing a thread David Schulberg wrote: > Doesn't work on Windows. > > irb(main):004:0> $pid = spawn('tftpd32.exe') > NoMethodError: undefined method `spawn' for main:Object > from (irb):4 > > Thought I needed popen4 but that gem didn't make any difference. > > Marvin Gülker wrote: >> David Schulberg wrote: >>> system('app.exe') >> >> This starts a subprocess which cannot be killed by killing the thread. >> Use Kernel#spawn (that should work on Windows, too, I think) instead and >> kill the subprocess: >> ------------------------------- >> pid = spawn("app.exe") >> sleep 10 >> Process.kill("KILL", pid) >> ------------------------------- >> Note that you don't need the thread anymore. >> >> Marvin >> >> PS: You may have a look here: >> http://wiki.ruby-portal.de/Tricks#Externe_Programme_starten >> ;-) Oh, sorry. It's some time ago since I last worked with processes on a Windows system. You then may have a look at the win32-process gem from the win32-utils project: http://rubyforge.org/projects/win32utils/ Hope that helps, Marvin -- Posted via http://www.ruby-forum.com/.