C-icap.sh: Difference between revisions

From Linuxwiki
Jump to navigation Jump to search
(Die Seite wurde neu angelegt: „<pre> #! /bin/sh PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/c-icap/bin DESC="c-icap server" NAME=c-icap DAEMON=/usr/local/c-icap/bin/c-icap PIDFILE=/var/run/$N…“)
 
No edit summary
 
Line 13: Line 13:
do_start()
do_start()
{
{
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \
--test > /dev/null \
--test > /dev/null || return 1
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS || return 2
$DAEMON_ARGS || return 2
Line 21: Line 20:
do_stop()
do_stop()
{
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
$PIDFILE --name $NAME
RETVAL="$?"
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
[ "$RETVAL" = 2 ] && return 2
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
$DAEMON
[ "$?" = 2 ] && return 2
[ "$?" = 2 ] && return 2
rm -f $PIDFILE
rm -f $PIDFILE
Line 32: Line 29:
}
}
do_reload() {
do_reload() {
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
$NAME
return 0
return 0
}
}

Latest revision as of 22:28, 13 March 2012

#! /bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/c-icap/bin
DESC="c-icap server"
NAME=c-icap
DAEMON=/usr/local/c-icap/bin/c-icap
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
[ -x "$DAEMON" ] || exit 0
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start()
{
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \
            --test > /dev/null || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
                $DAEMON_ARGS || return 2
}
do_stop()
{
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
        [ "$?" = 2 ] && return 2
        rm -f $PIDFILE
        return "$RETVAL"
}
do_reload() {
        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
        return 0
}
case "$1" in
  start)
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                log_end_msg 1
                ;;
        esac
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 3
        ;;
esac
: