Thomas D. added the comment:
Yep, I agree with you. This can be closed.
Thanks to your clarification the problem could be resolved upstream.
The udev problem was resolved in https://github.com/systemd/systemd/issues/190
and the PHP problem has a pending PR https://github.com/php/php-src/pull/1
Martin Panter added the comment:
I suggest closing this. Depending on what the daemons are supposed to do, I
think this is either a bug with “systemd” and PHP holding onto stderr when they
become daemons, or a bug/misunderstanding with how Thomas was using the
subprocess module and communicate
Martin Panter added the comment:
I suspect this is not a bug but a misunderstanding of how communiate(), pipes,
daemon processes, etc, work. If communicate() didn’t wait for stderr to be
closed, then how would it know it had read all the data that was written into
the pipe?
I don’t have that
New submission from Thomas D.:
Hi,
to demonstrate the problem you need >=systemd-217:
# python3.4
Python 3.4.2 (default, Oct 12 2014, 20:09:43)
[GCC 4.8.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> sp = subprocess.Popen(["/sbin/ude