SIGCHLD signal handling

Olaf Meyer olaf.meyer at nokia.com
Mon Sep 4 08:06:10 EDT 2000


I'm having some problems with the SIGCHLD signal on HP-UX 11.

When I start a child process from a python program via fork and execvp
the child process does not terminate when I sind a KILL signal to it.
It turns into a zombie and only dies after the parent process
(the python program) terminates.

The problem is related to the signal handler (sysV signal style). I've
had the same problems in perl but was able to resolve it by installing
a POSIX style (aka recursive) signal handler for the SIGCHLD signal.
Unfortuntely this does not work with python.

I've tried the following, but it does not work :-(

  import signal

  global SigHandler
  def SigHandler(signo, stackFrame):
      signal.signal(signo, SigHandler)

  signal.signal(signal.SIGCHLD, SigHandler)

Are there any solutions to this problem? I'm thankful for any hints :-)

Thanks,
  Olaf




More information about the Python-list mailing list