title: understand node.js pm2 startup options
body: <p><a href="https://github.com/Unitech/pm2" rel="nofollow">pm2</a> has the following command line options:</p>
  
  <pre><code>  startOrRestart &lt;json&gt;
    startOrReload &lt;json&gt;
    startOrGracefulReload &lt;json&gt;
  </code></pre>
  
  <p>but what are the differences between them?</p>
  
  <p>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.</p>
  
  <p>I assume <em>restart</em> forces an application to stop and restart it afterwards, and <em>reload</em> 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 <em>restart</em> (i.e. code changes are applied). </p>
  
  <p>Is my assumption correct? How does <em>startOrGracefulReload</em> differ?</p>