multiprocessing and SIGINT
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Sat Jan 10 02:15:22 EST 2009
En Fri, 09 Jan 2009 03:04:58 -0200, akineko <akineko at gmail.com> escribió:
> (2) test program with multiprocessing
> Both processes receives SIGINT.
> OS apparently distributes the SIGINT event to processes associated
> with the terminal.
Yes, to avoid that, the child process has to detach itself from the
terminal. I'd expect the multiprocessing module to do that for us - but it
doesn't. See http://www.onlamp.com/python/pythoncook2/solution.csp?day=1
> (3) signal handler
> I realized that I could assign a signal handler specific to a process
> by placing it to a worker method.
>
> def worker():
> # this process ignores SIGINT
> signal.signal(signal.SIGINT, signal.SIG_IGN)
> ... the rest ...
Looks fine...
> (4) terminating the spawned process
> I needed to send a shutdown message to the process via a communication
> between two processes.
> You can use Process.terminate() to brutally kill the process but that
> is a last resort.
What about sending a signal, like SIGTERM?
--
Gabriel Genellina
More information about the Python-list
mailing list