#!/usr/bin/env bash # Spectre 2 # # Douglas Thrift # # $Id$ command="$1" shift function check() { pid="$($(dirname $0)/Spectre2 -pid $@)" if [ "$pid" = "" ]; then echo "not running." exit fi } function usage() { echo "Usage: $(basename $0) start|stop|restart|reload|status [...]" } function start_() { echo -n "Starting Spectre daemon ... " if [ "$($(dirname $0)/Spectre2 -pid $@)" != "" ]; then echo "already running." exit fi $(dirname $0)/Spectre2 -fork $@ echo "started." } function stop_() { echo -n "Stopping Spectre daemon ... " check $@ kill -TERM $pid until [ "$($(dirname $0)/Spectre2 -pid $@)" == "" ]; do sleep 0; done echo "stopped." } function restart_() { stop_ $@ start_ $@ } function reload_() { echo -n "Reloading Spectre daemon ... " check $@ kill -USR1 $pid echo "reloaded." } function status_() { echo -n "Checking Spectre daemon ... " check $@ echo "running with PID $pid." } case $command in start) start_ $@ ;; stop) stop_ $@ ;; restart) restart_ $@ ;; reload) reload_ $@ ;; status) status_ $@ ;; *) usage ;; esac