Welling Guzman

Run node app in background (Linux)

There are different tools to run a node.js script in the background. In my experience I have used nohup, Forever, and PM2.

nohup

Running a script in the background in linux can be done using nohup, using nohup we can run node application in the background.

$ nohup node /nodeapp/index.js &

Kill Process

You can stop the process using the kill command as well:

First you need to know which process ID to kill, list all the process running node by running:

ps axl | grep node

The second column of your result is probably the PID, take that number and run the command below:

kill -9 [PID]

Forever

Forever is another solution for Node.js scripts.

Installation

$ npm install forever -g

Usage

$ forever start /nodeapp/index.js
$ forever restart /nodeapp/index.js
$ forever stop /nodeapp/index.js
$ forever list

PM2

Another tool I found is PM2, it has a lot of extras features that I have not used, except process management.

Installation

$ npm install pm2 -g

Usage

$ pm2 start /nodeapp/index.js
$ pm2 restart /nodeapp/index.js
$ pm2 reload /nodeapp/index.js
$ pm2 stop /nodeapp/index.js
$ pm2 delete /nodeapp/index.js
$ pm2 list

References