[Python-Dev] documentation / implementation question for subprocess.check_output

Chris Withers chris at simplistix.co.uk
Thu Jul 16 09:52:11 CEST 2015


Hi All,

Curious to see this in the docs for subprocess.check_output: "Do not use 
stderr=PIPE with this function as that can deadlock based on the child 
process error volume. Use Popen with the communicate() method when you 
need a stderr pipe."

Given that check_output's implementation uses communicate(), how could 
stderr=PIPE cause a deadlock in a way that wouldn't happen if you called 
Popen.communicate() yourself?

cheers,

Chris


More information about the Python-Dev mailing list