Created
July 7, 2010 13:31
-
-
Save seyyah/466686 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: supervisor | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: S 0 1 6 | |
# Short-Description: Starts/stops the supervisor daemon | |
# Description: This starts and stops the supervisor dameon | |
# which is used to run and monitor arbitrary programs as | |
# services, e.g. application servers etc. | |
### END INIT INFO | |
# | |
# Author: Christopher Arndt <[email protected]> | |
# | |
# Version: @(#)supervisor 1.0 05-Dec-2006 | |
# | |
set -e | |
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | |
DESC="supervisor daemon" | |
NAME="supervisor" | |
DAEMON="/usr/bin/${NAME}d" | |
PIDFILE="/var/run/${NAME}d.pid" | |
SCRIPTNAME="/etc/init.d/$NAME" | |
CONFFILE="/etc/${NAME}d.conf" | |
# Gracefully exit if the package has been removed. | |
test -x "$DAEMON" || exit 0 | |
# supervisord not start up without a configuration | |
test -r "$CONFFILE" || exit 0 | |
# Read config file if it is present. | |
if [ -r "/etc/default/$NAME" ]; then | |
. "/etc/default/$NAME" | |
fi | |
test "x$START_SUPERVISOR" = "xyes" || exit 0 | |
# | |
# Function that starts the daemon/service. | |
# | |
d_start() { | |
start-stop-daemon --start --quiet --pidfile "$PIDFILE" \ | |
--exec "$DAEMON" \ | |
|| echo -n " already running" | |
} | |
# | |
# Function that stops the daemon/service. | |
# | |
d_stop() { | |
start-stop-daemon --stop --quiet --pidfile "$PIDFILE" \ | |
--name "$NAME" \ | |
|| echo -n " not running" | |
} | |
# | |
# Function that sends a SIGHUP to the daemon/service. | |
# | |
d_reload() { | |
start-stop-daemon --stop --quiet --pidfile "$PIDFILE" \ | |
--name "$NAME" --signal 1 | |
} | |
case "$1" in | |
start) | |
echo -n "Starting $DESC: $NAME" | |
d_start | |
echo "." | |
;; | |
stop) | |
echo -n "Stopping $DESC: $NAME" | |
d_stop | |
echo "." | |
;; | |
reload|force-reload) | |
echo -n "Reloading $DESC configuration..." | |
d_reload | |
echo "done." | |
;; | |
restart) | |
echo -n "Restarting $DESC: $NAME" | |
d_stop | |
# One second might not be time enough for a daemon to stop, | |
# if this happens, d_start will fail (and dpkg will break if | |
# the package is being upgraded). Change the timeout if needed | |
# be, or change d_stop to have start-stop-daemon use --retry. | |
# Notice that using --retry slows down the shutdown process somewhat. | |
sleep 1 | |
d_start | |
echo "." | |
;; | |
*) | |
echo "Usage: "$SCRIPTNAME" {start|stop|restart|force-reload}" >&2 | |
exit 3 | |
;; | |
esac | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment