Hi, all I want to use system method to run a background process, like system("ruby deamon.rb") # the deamon.rb runs a dead loop When my main process ends, I want to end the background process too. How can I do it? If I can get the pid of background process, I can use Process.kill. But the system method dosen't return the pid. Does anyone here know the solution? Thank you Jarod Z.
on 2008-12-01 19:35
on 2008-12-01 19:38
On Mon, Dec 1, 2008 at 12:29 PM, Jarod Z. <email@example.com> wrote: > Hi, all > > I want to use system method to run a background process, like > > system("ruby deamon.rb") # the deamon.rb runs a dead loop > > When my main process ends, I want to end the background process > too. > > How can I do it? The basic answer is to use IO.popen() - see http://www.ruby-doc.org/core/classes/IO.html#M002267 For more advances applications you may want to take a look at Daemons: http://daemons.rubyforge.org/ -- Avdi Home: http://avdi.org Developer Blog: http://avdi.org/devblog/ Twitter: http://twitter.com/avdi Journal: http://avdi.livejournal.com
on 2008-12-02 03:45
IO.popen() works well. Thanks a lot!! Jarod Z.