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.
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:
The working directory of your process.
The user that should execute the command.
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"
Starts the app.
/etc/init.d/algorithms start
Stops the app.
/etc/init.d/algorithms stop
Restarts the app.
/etc/init.d/algorithms restart
Tells you whether the app is running. Exits with 0 if it is and 1 otherwise.
/etc/init.d/algorithms status
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
.