title: Blocking and Non Blocking subprocess calls
body: <p>I'm completely confused between <code>subprocess.call()</code> , <code>subprocess.Popen()</code>, <code>subprocess.check_call()</code>. </p>
  
  <p>Which is blocking and which is not ? </p>
  
  <p>What I mean to say is if I use <code>subprocess.Popen()</code> whether the parent process waits for the child process to <code>return</code>/<code>exit</code> before it keep on its execution. </p>
  
  <p>How does <code>shell=True</code> affect these calls?</p>