[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)

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>

More information about the docs mailing list