Add restart to daemonize script

This commit is contained in:
Martin Polden 2013-04-10 13:52:20 +02:00
parent a200325d11
commit e963029ef7

View File

@ -2,8 +2,9 @@
NAME="ifconfig" NAME="ifconfig"
IFC_PATH=$(dirname $(readlink -f $0)) IFC_PATH=$(dirname $(readlink -f $0))
LOCK_FILE="$IFC_PATH/$NAME.lock" LOCK_FILE="$IFC_PATH/tmp/${NAME}.lock"
PID_FILE="$IFC_PATH/$NAME.pid" PID_FILE="$IFC_PATH/tmp/${NAME}.pid"
LOG_FILE="$IFC_PATH/tmp/${NAME}.log"
BIN="$IFC_PATH/$NAME" BIN="$IFC_PATH/$NAME"
E_USAGE=1 E_USAGE=1
@ -16,34 +17,50 @@ if [[ ! -x "$BIN" ]]; then
exit $E_NOTFOUND exit $E_NOTFOUND
fi fi
start () {
if [[ -f "$LOCK_FILE" ]]; then
echo "Lock file $LOCK_FILE exists. Already running?"
exit $E_LOCKED
fi
echo "Starting $NAME"
daemonize -c $IFC_PATH -o $LOG_FILE -p $PID_FILE -l $LOCK_FILE $BIN
}
stop () {
if [[ ! -s "$PID_FILE" ]]; then
echo "PID file $PID_FILE empty or not found. Not started?"
exit $E_NOPID
fi
PID=$(head -n1 $PID_FILE)
echo "Stopping $NAME: $PID"
kill $PID
rm -f -- $PID_FILE $LOCK_FILE
}
status () {
if [[ ! -s "$PID_FILE" ]]; then
echo "$NAME is not running"
else
echo "$NAME is running: $(head -n1 $PID_FILE)"
fi
}
case "$1" in case "$1" in
start) start)
if [[ -f "$LOCK_FILE" ]]; then start
echo "Lock file $LOCK_FILE exists. Already running?"
exit $E_LOCKED
fi
echo "Starting $NAME"
daemonize -c $IFC_PATH -o ${NAME}.log -p $PID_FILE -l $LOCK_FILE $BIN
;; ;;
stop) stop)
if [[ ! -s "$PID_FILE" ]]; then stop
echo "PID file $PID_FILE empty or not found. Not started?" ;;
exit $E_NOPID restart)
fi stop
PID=$(head -n1 $PID_FILE) start
echo "Stopping $NAME: $PID"
kill $PID
rm -f -- $PID_FILE $LOCK_FILE
;; ;;
status) status)
if [[ ! -s "$PID_FILE" ]]; then status
echo "$NAME is not running"
else
echo "$NAME is running: $(head -n1 $PID_FILE)"
fi
;; ;;
*) *)
echo "usage: $0 {start|stop|status}" echo "usage: $0 {start|stop|restart|status}"
exit $E_USAGE exit $E_USAGE
;; ;;
esac esac