When I first used Node.js, for the first hour of development I was like
npm start ... what a nightmare. Fortunately there are some nice people out there who "made it so". So we don't get RSI. Any time some file changes in our node directory the server is restarted for us. Excellent. There are quite a few of these packages out there. The ones I've used are listed below.
First of all I think it is good to mention that sometimes a process can run away with itself i.e.
ctrl+c seems to kill the process, but then a few seconds later it pops up in your terminal and you're like wtf?!?!?
With forever you can use:
From a process id point of view, you can find out what processes are running on a given port:
lsof -i :5000
and then kill the process id:
kill -9 PIDNUMBER
To see all node services running do:
ps aux |grep node
npm install -g supervisor
The only problem with supervisor is that if there are any errors in your code, the server keeps starting and then crashing, starting and then crashing.
Nodemon is pretty cool.
Forever can be started in 3 ways.
forever start --uid "production" app.js
You can start your app using full path:
forever start /var/www/reports/app.js Reports
You also can add an unused command line param like:
forever start app.js project_name forever start app.js DKFO Reports Preview
StrongLoop and PM2 are other ones are worth investigating too.
Go ahead and run.