See http://ddollar.github.io/foreman/
foreman start
is used to run your application directly from the command line. If no additional parameters are passed, foreman will run one instance of each type of process defined in your Procfile.
foreman run
is used to run one-off commands using the same environment as your defined processes.
run
is useful since your app may depend on environment variables defined in a .env
file being loaded by foreman and which new to be present even when running a single process.
start
allows you to run a complex app environment which requires multiple processes to be fully functional (background job processing in addition to a web server for example).