Se você estiver usando o supervisord para supervisionar o processo, há alguns problemas.
Por exemplo :
[program:gunicorn]
command=/usr/local/bin/gunicorn_django -b 127.0.0.1:9001 -u www-data project/settings.py -D --error-logfile ../logs/error_gunicorn -w 4
directory=/var/www/project/sources/
user=www-data
autostart=true
autorestart=true
redirect_stderr=True
E isso gerará um erro:
supervisor> restart gunicorn
gunicorn: ERROR (not running)
gunicorn: ERROR (abnormal termination)
Porque isso está acontecendo? O processo de Beacuse nos inicia daemon. Uma solução simples para isso é remover a sinalização -D:
command=/usr/local/bin/gunicorn_django -b 127.0.0.1:9001 -u www-data project/settings.py --error-logfile ../logs/error_gunicorn -w 4
E tudo está funcionando bem:
supervisor> status
gunicorn RUNNING pid 26463, uptime 0:01:56