When using supervisord in production to monitor your processes you can't just
kill -s SIGUSR2 your unicorn master to initiate a restart. Eventually the old unicorn master will be killed and supervisor will think your application has gone away.
Instead you should use unicornherder to watch over your unicorn, and supervisor to watch over unicornherder. This will enable you to have zero-downtime deployments application wise while still using unicorn & supervisord together.
Read more about it on my blog