If the agent isn't running, `restart` won't start it (if will exit with `SUPERVISOR_NOT_RUNNING`).
Usually restart is more like stop + start. So even if the program isn't running, `restart` will will run it.
I prefer this behavior (restart = stop + start) but this is just my own opinion.