Solvedsupervisor Differences between reread, reload, restart, update?

Perhaps I missed it but is there a good explanation anywhere as to the differences between these four commands? I didn't see them discussed in the supervisord online documentation. I've noticed on ServerFault and Stackoverflow that other users don't understand their differences either.

For example, if I change the configuration in one program section, I know I must do "supervisorctl reread" to have those changes made available. But how do you restart just that one program? supervisorctl restart doesn't work. Instead if appears that you must either run "supervisorctl update" or restart the supervisor daemon itself. However, this seems to have the unintended effect of restarting all programs, not just the one that changed.


34 Answers

✔️Accepted Answer

Would the following definitions work for the documentation ?

reread - Reread supervisor configuration. Do not update or restart the running services.
update - Restart service(s) whose configuration has changed. Usually run after 'reread'.
reload - Reread supervisor configuration, reload supervisord and supervisorctl, restart services that were started.
restart - Restart service(s)

Other Answers:

Still find the current docs confusing.

+1 for re-opening. reread|reload|restart|update are still undocumented.

I find it still a little confusing. Currently I run update and restart all on an update of our software. This could be:

  • A supervisor configuration file is changed
  • A script is changed and requires restarting.

But when a supervisor configuration is updated, the script is restarted twice (because update and restart all). I also tried reread and restart all, but in this case new config files didn't start automatically.

Is there a command or combination of commands that will reload all configuration files and restart all scripts without restarting them twice and loading and starting new configuration files found?