Kaydet (Commit) e09d2f16 authored tarafından Gregory P. Smith's avatar Gregory P. Smith

issue7678 - Properly document how to replace a shell pipeline so that SIGPIPE

happens when the end exits before the beginning.
üst 738236db
...@@ -519,8 +519,11 @@ Replacing shell pipeline ...@@ -519,8 +519,11 @@ Replacing shell pipeline
==> ==>
p1 = Popen(["dmesg"], stdout=PIPE) p1 = Popen(["dmesg"], stdout=PIPE)
p2 = Popen(["grep", "hda"], stdin=p1.stdout, 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] 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` Replacing :func:`os.system`
^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment