All pastes #1804915 Raw Edit

Ziproxy-Init-Skript fr Debian

public shellscript v1 · immutable
#1804915 ·published 2010-02-21 19:27 UTC
rendered paste body
#!/bin/sh### BEGIN INIT INFO# Provides:          ziproxy# Required-Start:    $network $local_fs# Required-Stop:     $network $local_fs# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: Init script for ziproxy# Description:       This is the init script for ziproxy.### END INIT INFOPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binZIPROXY=/usr/bin/ziproxyNAME=ziproxyDESC=ziproxytest -x $DAEMON || exit 0PIDFILE=/var/run/$NAME.pidDODTIME=1                   # Time to wait for the server to die, in seconds                            # If this value is set too low you might not                            # let some servers to die gracefully and                            # 'restart' will not work# Include ziproxy defaults if availableif [ -f /etc/default/ziproxy ] ; then	. /etc/default/ziproxyfiDAEMON_OPTS="$DAEMON_OPTS -d"set -erunning_pid(){    # Check if a given process pid's cmdline matches a given name    pid=$1    name=$2    [ -z "$pid" ] && return 1     [ ! -d /proc/$pid ] &&  return 1    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`    # Is this the expected child?    ##[ "$cmd" != "$name" ] &&  return 1    [ "$cmd" != "$name" ] &&  return 1    return 0}running(){# Check if the process is running looking at /proc# (works for all users)    # No pidfile, probably no daemon present    [ ! -f "$PIDFILE" ] && return 1    # Obtain the pid and check it against the binary name    pid=`cat $PIDFILE`    running_pid $pid $DAEMON || return 1    return 0}force_stop() {# Forcefully kill the process    [ ! -f "$PIDFILE" ] && return    if running ; then        kill -15 $pid        # Is it really dead?        [ -n "$DODTIME" ] && sleep "$DODTIME"s        if running ; then            kill -9 $pid            [ -n "$DODTIME" ] && sleep "$DODTIME"s            if running ; then                echo "Cannot kill $NAME (pid=$pid)!"                exit 1            fi        fi    fi    rm -f $PIDFILE    return 0}is_not_running() {	if ! running; then		echo "$NAME is not running."		exit 1	fi	}case "$1" in  start)	echo -n "Starting $DESC: "	if running; then		echo "$NAME is already running."		exit 1	fi		start-stop-daemon --start --quiet --pidfile $PIDFILE \		--exec $ZIPROXY -- $DAEMON_OPTS > $PIDFILE        if running; then            echo "$NAME."        else            echo " ERROR."        fi	;;  stop)	echo -n "Stopping $DESC: "	start-stop-daemon --stop --quiet --pidfile $PIDFILE \		--exec $ZIPROXY	echo "$NAME."	;;  force-stop)	echo -n "Forcefully stopping $DESC: "	is_not_running        force_stop        if ! running; then            echo "$NAME."        else            echo " ERROR."        fi	;;  #reload)	#	#	If the daemon can reload its config files on the fly	#	for example by sending it SIGHUP, do it here.	#	#	If the daemon responds to changes in its config file	#	directly anyway, make this a do-nothing entry.	#	# echo "Reloading $DESC configuration files."	# start-stop-daemon --stop --signal 1 --quiet --pidfile \	#	/var/run/$NAME.pid --exec $ZIPROXY  #;;  force-reload)	#	#	If the "reload" option is implemented, move the "force-reload"	#	option to the "reload" entry above. If not, "force-reload" is	#	just the same as "restart" except that it does nothing if the	#   daemon isn't already running.	# check wether $DAEMON is running. If so, restart	start-stop-daemon --stop --test --quiet --pidfile \		/var/run/$NAME.pid --exec $ZIPROXY \	&& $0 restart \	|| exit 0	;;  restart)    echo -n "Restarting $DESC: "	 	is_not_running	start-stop-daemon --stop --quiet --pidfile \		/var/run/$NAME.pid --exec $ZIPROXY	[ -n "$DODTIME" ] && sleep $DODTIME	start-stop-daemon --start --quiet --pidfile \		/var/run/$NAME.pid --exec $ZIPROXY -- $DAEMON_OPTS > $PIDFILE	echo "$NAME."	;;  status)    echo -n "$NAME is "    if running ;  then        echo "running."    else        echo "not running."        exit 1    fi    ;;  *)	N=/etc/init.d/$NAME	echo "Usage: $N {start|stop|restart|force-reload|status|force-stop}" >&2	exit 1	;;esacexit 0