# HG changeset patch # User Christian Arnold # Date 1236937497 -3600 # Node ID 9d0f18677fecc1908b3b364f9cae5f19591f4323 # Parent b0b16e440460bd8141aec2d3374cf67ea0f4a1c6 modify start/stop script diff -r b0b16e440460 -r 9d0f18677fec init.d --- a/init.d Mon Mar 02 11:59:08 2009 +0100 +++ b/init.d Fri Mar 13 10:44:57 2009 +0100 @@ -18,11 +18,11 @@ # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="Description of the service" -NAME=daemonexecutablename -DAEMON=/usr/sbin/$NAME -DAEMON_ARGS="--options args" +PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin +DESC="Tele-Watch" +NAME=tele-watch +DAEMON=/usr/local/sbin/$NAME +DAEMON_ARGS="/dtele:/.dtele" PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME @@ -48,14 +48,12 @@ # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started - 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 - # Add code here, if necessary, that waits for the process to be ready - # to handle requests from services started subsequently which depend - # on this one. As a last resort, sleep for some time. + PID=$(pidof $NAME) && return 1 + + if [ ! $PID ]; then + $DAEMON $DAEMON_ARGS || return 2 + fi + return 0 } # @@ -68,32 +66,9 @@ # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - # Wait for children to finish too if this is a daemon that forks - # and if the daemon is only ever run from this initscript. - # If the above conditions are not satisfied then add some other code - # that waits for the process to drop all resources that could be - # needed by services started subsequently. A last resort is to - # sleep for some time. - start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON - [ "$?" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return "$RETVAL" -} + PID=$(pidof $NAME) || return 1 -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - # - # If the daemon can reload its configuration without - # restarting (for example, when it is sent a SIGHUP), - # then implement that here. - # - start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME + $DAEMON --kill || return 2 return 0 } @@ -114,15 +89,6 @@ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; - #reload|force-reload) - # - # If do_reload() is not implemented then leave this commented out - # and leave 'force-reload' as an alias for 'restart'. - # - #log_daemon_msg "Reloading $DESC" "$NAME" - #do_reload - #log_end_msg $? - #;; restart|force-reload) # # If the "reload" option is implemented then remove the @@ -146,7 +112,6 @@ esac ;; *) - #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;;