From time to time, people want me to create LINUX init scripts for them. I usually just take an existing one for another service and change it up to work for my new application, but most of them have become so long these days that I end up having to hack out a ton of code just to reduce them down to the very basic script I need. I decided to create this very simple template so I wouldn’t have to keep trimming down the more complex scripts that one tends to find in/etc/init.d
these days.
This script ischkconfigcompatible, so call it the name of your new service and put it in/etc/init.d
Thechkconfig: 235
section indicates the the default runlevels. For instance, if we called this script/etc/init.d/new-service
and ranchkconfig new-service on
, it would be active in runlevels 2,3 and 5.
The98
and55
numbers indicate the order of startup and kill. This means that using this tag, the startup symbolic link would be namedS98new-service
and the symbolic link to kill the process would be namedK55new-service
.
#### SNIP ####
#! /bin/sh# Basic support for IRIX style chkconfig#### chkconfig: 235 98 55# description: Manages the services you are controlling with the chkconfig command###case "$1" in start) echo -n "Starting new-service" #To run it as root: /path/to/command/to/start/new-service #Or to run it as some other user: /bin/su - username -c /path/to/command/to/start/new-service echo "." ;; stop) echo -n "Stopping new-service" #To run it as root: /path/to/command/to/stop/new-service #Or to run it as some other user: /bin/su - username -c /path/to/command/to/stop/new-service echo "." ;; *) echo "Usage: /sbin/service new-service {start|stop}" exit 1esacexit 0
Example LINUX init Script