Merged revisions 88352 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r88352 | gregory.p.smith | 2011-02-05 13:47:25 -0800 (Sat, 05 Feb 2011) | 3 lines

  issue7678 - Properly document how to replace a shell pipeline so that SIGPIPE
  happens when the end exits before the beginning.
........
This commit is contained in:
Gregory P. Smith 2011-02-05 21:49:56 +00:00
parent 67b8d9ec6a
commit e3e967f2b3
1 changed files with 3 additions and 0 deletions

View File

@ -450,8 +450,11 @@ Replacing shell pipeline
==>
p1 = Popen(["dmesg"], stdout=PIPE)
p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits.
output = p2.communicate()[0]
The p1.stdout.close() call after starting the p2 is important in order for p1
to receive a SIGPIPE if p2 exits before p1.
Replacing :func:`os.system`
^^^^^^^^^^^^^^^^^^^^^^^^^^^