Signals and win32

The only "signals" that Process.kill supports in win32-process are
"Ctrl-C" and "Ctrl-Break", signals 2 and 3 respectively. Signal 0 does
not kill a process. It merely tells you if it's running or not.
Signals 1, and 4-8 kill the process using CreateRemoteThread(). Signal
9 kills the process via TerminateProcess().

Can you provide a code sample that isn't working properly? And what
version of win32-process and what platform you're running on?

Regards,

Dan

···

-----Original Message-----
From: Ara.T.Howard [mailto:Ara.T.Howard@noaa.gov]
Sent: Tuesday, September 20, 2005 8:39 PM
To: ruby-talk ML
Subject: signals and win32

can someone show me a working example of trapping a signal
sent to a process using the extended Process::kill enabled by
win32-process? i can't seem to figure this out - all signals
sent seem to behave like signal 9: the process simply aborts.

latest one-click installer and one-click win32utils-installer. on xp.

all three installed yesterday.

basically i'm doing this in one irb session

   irb > Process::pid
   1234
   irb > trap(2){ STDERR.puts "got 2"}

and then, in another command window

   irb > require 'win32/process'
   irb > Process::kill 2, 1234

but this doesn't work. of course i've tried with scripts too in order to make
sure irb didn't have some signal handlers of it's own. i always end up
getting errors from the kill or, if the kill works, the trap does not: the
other process simply exits no matter what - eg. trap doesn't seem to work.

hope that is enough info - i'm away from that machine right now.

cheers.

-a

···

On Wed, 21 Sep 2005, Berger, Daniel wrote:

-----Original Message-----
From: Ara.T.Howard [mailto:Ara.T.Howard@noaa.gov]
Sent: Tuesday, September 20, 2005 8:39 PM
To: ruby-talk ML
Subject: signals and win32

can someone show me a working example of trapping a signal
sent to a process using the extended Process::kill enabled by
win32-process? i can't seem to figure this out - all signals
sent seem to behave like signal 9: the process simply aborts.

The only "signals" that Process.kill supports in win32-process are
"Ctrl-C" and "Ctrl-Break", signals 2 and 3 respectively. Signal 0 does
not kill a process. It merely tells you if it's running or not.
Signals 1, and 4-8 kill the process using CreateRemoteThread(). Signal
9 kills the process via TerminateProcess().

Can you provide a code sample that isn't working properly? And what
version of win32-process and what platform you're running on?

--

email :: ara [dot] t [dot] howard [at] noaa [dot] gov
phone :: 303.497.6469
Your life dwells amoung the causes of death
Like a lamp standing in a strong breeze. --Nagarjuna

===============================================================================