pm2 has the following command line options:
startOrRestart <json>
startOrReload <json>
startOrGracefulReload <json>
but what are the differences between them?
As far as I understand all start the application(s) if they are not already started. So let's consider the application (an HTTP server) is curently running.
I assume restart forces an application to stop and restart it afterwards, and reload would stop accepting new connections, wait for all connections to be handled and then restarts the application. The difference would be that there is no downtime or aborted connections for reload, but apart from that it behaves just as restart (i.e. code changes are applied).
Is my assumption correct? How does startOrGracefulReload differ?