This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kanaka
Recipients abo, astrand, benjamin.peterson, christian.heimes, djc, dsagal, exarkun, gjb1002, gregory.p.smith, grossetti, gvanrossum, kanaka, nnorwitz, oefe, r.david.murray, siemer, tom_culliton, yonas
Date 2009-09-17.15:37:27
SpamBayes Score 9.53571e-13
Marked as misclassified No
Message-id <>
I can reproduce the problem (or at least get the same symptom) by doing
this (in 2.4.6, 2.5.4 and 2.6.2):

import subprocess, signal
signal.signal(signal.SIGCLD, signal.SIG_IGN)

The echo command completes, but the subprocess command throws the "no
child" exception. It seems like the subprocess command should either:

- detect that SIGCLD is not set correctly and throw a more informative
exception before running the command.
- override SIGCLD during the running of the sub-command. Not sure what
the UNIX correctness implications of this are.
- or allow the child to zombie without throwing an exception. The fact
that the programmer has overridden SIGCLD sort of implies that reaping
of zombie children has been switched off.

I don't have good enough understanding of the underlying implementation
to know if this is a reproducer as requested or if this should be a new
bug. Please advise and I will file a new bug if requested.

This is a follow-up to trying to resolve this problem in the PEP 3143
python-daemon module. See this thread:
Date User Action Args
2009-09-17 15:37:30kanakasetrecipients: + kanaka, gvanrossum, nnorwitz, abo, gregory.p.smith, astrand, siemer, exarkun, gjb1002, oefe, christian.heimes, dsagal, tom_culliton, benjamin.peterson, djc, grossetti, r.david.murray, yonas
2009-09-17 15:37:30kanakasetmessageid: <>
2009-09-17 15:37:28kanakalinkissue1731717 messages
2009-09-17 15:37:27kanakacreate