Hey!
I user win32/Process to spawn a child Process in my Application
myProc = Process.create(:app_name => “ruby test.rb”)
and kill it with
Process.kill(1, myProc.process_id)
How can i trap the signal in the Child Process to do cleanup stuff?
thx
Hey!
I user win32/Process to spawn a child Process in my Application
myProc = Process.create(:app_name => “ruby test.rb”)
and kill it with
Process.kill(1, myProc.process_id)
How can i trap the signal in the Child Process to do cleanup stuff?
thx
Specifies the handling of signals. The first parameter is a signal
name (a string such as ``SIGALRM'', ``SIGUSR1'', and so on) or a
signal number. The characters ``SIG'' may be omitted from the
signal name. The command or block specifies code to be run when the
signal is raised. If the command is the string ``IGNORE'' or
``SIG_IGN'', the signal will be ignored. If the command is
``DEFAULT'' or ``SIG_DFL'', the operating system's default handler
will be invoked. If the command is ``EXIT'', the script will be
terminated by the signal. Otherwise, the given command or block
will be run. The special signal name ``EXIT'' or signal number zero
will be invoked just prior to program termination. trap returns the
previous handler for the given signal.
Signal.trap(0, proc { puts "Terminating: #{$$}" })
Signal.trap("CLD") { puts "Child died" }
fork && Process.wait
produces:
Terminating: 27461
Child died
Terminating: 27460
–
Avdi
Home: http://avdi.org
Developer Blog: http://avdi.org/devblog/
Twitter: http://twitter.com/avdi
Journal: http://avdi.livejournal.com
Avdi G. wrote:
Signal.trap(0, proc { puts "Terminating: #{$$}" }) Signal.trap("CLD") { puts "Child died" } fork && Process.wait produces: Terminating: 27461 Child died Terminating: 27460
Yeah, i know. But this obviously doesn’t work with win32.
My traps don’t catch anything gg
ck
On Tue, 15 Apr 2008 07:59:42 -0500, Christian K. wrote:
Avdi G. wrote:
Signal.trap(0, proc { puts "Terminating: #{$$}" }) Signal.trap("CLD") { puts "Child died" } fork && Process.wait
[snip]
Yeah, i know. But this obviously doesn’t work with win32.
My traps don’t catch anything gg
If you can’t find a more portable solution, look at Win32 events,
starting
with the CreateEvent function.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs