In Ubuntu (I don’t know how in other distros) there is very old version of supervisord in repo. This version has few very annoying bugs, and I can’t live with them ;)

So, below is easy path to upgrade supervisord from system one to newest version in few simple steps:

  • Stop service:

    service supervisor stop
    
  • Backup current configuration:

    mkdir ~/supervisor
    cp -r /etc/supervisor ~/etc-supervisor
    cp /etc/default/supervisor ~/supervisor/etc-default-supervisor
    cp /etc/init.d/supervisor ~/supervisor/etc-init.d-supervisor
    
  • Remove current installation:

    apt-get purge supervisor
    rm -fr /etc/supervisor
    
  • Install new supervisor:

    pip install supervisor
    
  • Restore configs:

    cp ~/supervisor/etc-default-supervisor /etc/default/supervisor
    cp ~/supervisor/etc-init.d-supervisor /etc/init.d/supervisor
    cp -r ~/etc-supervisor /etc/supervisor
    ln -s /etc/supervisor/supervisor.conf /etc/supervisor.conf
    
  • Start new supervisor:

    service supervisor start
    
  • Verify:

    supervisorctl
    
  • Set to run at startup:

    update-rc.d supervisor defaults