Debugging a problem with an app running under Supervisord

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at:

I’ve run into this before, an app seems to work but if I run it under Supervisord it doesn’t work, so does that mean there is a problem with Supervisord or with the app itself? This is a useful bit of debugging advice:

Does the command supervisorctl status work when the process is in this state? If that hangs or doesn’t connect, it might indicate a problem in supervisord. If supervisorctl commands work normally, that almost always indicates something is wrong with the process running under supervisord (as opposed to a bug in supervisord itself).

The RUNNING state only means the process stayed up long enough to exit the STARTING state, and the process hasn’t terminated. If you run supervisorctl pid and get a pid, you can see the process running with tools like ps. supervisord doesn’t have any knowledge of what your process might want to do, so RUNNING doesn’t imply your program is doing what it’s supposed to.