[docs] [issue7678] subprocess.Popen pipeline example code in the documentation is lacking
Ross Lagerwall
report at bugs.python.org
Thu Feb 3 11:01:32 CET 2011
Ross Lagerwall <rosslagerwall at gmail.com> added the comment:
The docs should be updated. This has been noted in msg54949 and http://www.enricozini.org/2009/debian/python-pipes/
Perhaps this example will make it clear:
import subprocess
p1 = subprocess.Popen(["yes"], stdout=subprocess.PIPE)
p2 = subprocess.Popen(["head"], stdin=p1.stdout, stdout=subprocess.PIPE)
#p1.stdout.close()
p1.wait()
This example hangs. "yes" writes to "head" and head reads the first 10 lines and then exits. But, "yes" does not receive a SIGPIPE because the python process still has a p1.stdout open. Thus, p1.stdout should be closed after being passed to p2.
----------
nosy: +rosslagerwall
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue7678>
_______________________________________
More information about the docs
mailing list