title: How to interrupt a runaway ipython evaluation without terminating the parent process?
body: <p><strong><em>Sometimes</em></strong> it happens that an ongoing <code>ipython</code> evaluation won't respond to one, <a href="https://stackoverflow.com/questions/6637219#answer-6646806"><strong><em>or even several</em></strong></a>, <code>Ctrl-C</code>'s from the keyboard<sup>1</sup>.</p>
  
  <p>Is there some other way to goose the <code>ipython</code> process to abort the current evaluation, and come back to its "read" state?</p>
  
  <p>Maybe with <code>kill -SOMESECRETSIGNAL &lt;pid&gt;</code>?  I've tried a few (<code>SIGINT</code>, <code>SIGTERM</code>, <code>SIGUSR1</code>, ...) to no avail: either they have no effect (e.g. <code>SIGINT</code>), or they kill the <code>ipython</code> process.  Or maybe some arcane <code>ipython</code> configuration?  Some sentinel file? ... ?</p>
  
  <p><sup>1</sup><sub>"Promptly enough", that is.  Of course, it is impossible to specify precisely how promptly is "promptly enough"; it depends on the situation, the reliability of the delay's duration, the temperament of the user, the day's pickings at Hacker News, etc.</sub></p>