System V init script template
A simple template for init scripts that provide the start, stop, restart and status commands.
Handy for Node.js apps and everything else that runs itself.
Getting started
Copy template to /etc/init.d and rename it to something meaningful. Then edit the script and enter that name after Provides: (between ### BEGIN INIT INFO and ### END INIT INFO).
Now set the following three variables in the script:
dir
The working directory of your process.
user
The user that should execute the command.
cmd
The command line to start the process.
Here's an example for an app called algorithms:
dir="/var/apps/algorithms"
user="node"
cmd="node server.js"
Script usage
Start
Starts the app.
/etc/init.d/algorithms start
Stop
Stops the app.
/etc/init.d/algorithms stop
Restart
Restarts the app.
/etc/init.d/algorithms restart
Status
Tells you whether the app is running. Exits with 0 if it is and 1 otherwise.
/etc/init.d/algorithms status
Logging
By default, standard output goes to /var/log/scriptname.log and
error output to /var/log/scriptname.err. If you're not happy with
that, change the variables stdout_log
and stderr_log
.