title: Does Python always raise an exception if you do Ctrl+C when a subprocess is executing?
body: <p>Given the following code:</p>
  
  <pre><code>try:
    subprocess.Popen(ExternalProcess, stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True).communicate()
  except KeyboardInterrupt:
    exit(0)
  </code></pre>
  
  <p>If during the execution of <code>ExternalProcess</code>(which is not a python script) one presses the <kbd>Ctrl</kbd>+<kbd>C</kbd> command, what exactly is going on?</p>
  
  <p>Can I be sure for a 100% that in this scope, if I press the <kbd>Ctrl</kbd>+<kbd>C</kbd>, it will always get into the 'except' even if it happens during the execution of <code>ExternalProcess</code>? </p>
  
  <p>Or it depends on how the external process deals with it? </p>