title: Signal passing to managed processes using supervisord
body: <p>I am using supervisord to spawn and manage a FastCGI application that I am writing in C for a linux target.  I have a signal handler that gracefully exits my application when SIGINT is received. I have verified that the signal handler works as desired by running the app in a terminal window and issuing Ctrl-C to exit.</p>
  
  <p>When issuing a "shutdown" command to supervisord (via supervisorctl), it appears that supervisord is unable to force the app to exit without invoking SIGKILL:</p>
  
  <pre><code>2010-08-20 10:02:49,661 INFO waiting for cse to die
  2010-08-20 10:02:52,665 INFO waiting for cse to die
  2010-08-20 10:02:55,669 INFO waiting for cse to die
  2010-08-20 10:02:58,672 INFO waiting for cse to die
  2010-08-20 10:02:59,673 WARN killing 'cse' (2031) with SIGKILL
  2010-08-20 10:02:59,674 INFO stopped: cse (terminated by SIGKILL)
  </code></pre>
  
  <p>I have the following in my supervisord.conf file</p>
  
  <pre><code>stopsignal=INT
  </code></pre>
  
  <p>It is my assumption that supervisord issues "stopsignal" at the invocation of the shutdown command, so I take the INFO statements as an indication that my app is not responding to the SIGINT issued by supervisord.</p>
  
  <p>How do I go about debugging the signal passing between supervisord and my app?</p>