From: jow Date: Sun, 28 Feb 2010 01:50:39 +0000 (+0000) Subject: [packages] collectd: use start-stop-daemon for service invokation X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=23183ad860549c9b543cc9d44a0c3214d47b39da;p=packages.git [packages] collectd: use start-stop-daemon for service invokation git-svn-id: svn://svn.openwrt.org/openwrt/packages@19887 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/utils/collectd/files/collectd.init b/utils/collectd/files/collectd.init index 4ec4771be..6204eabaa 100644 --- a/utils/collectd/files/collectd.init +++ b/utils/collectd/files/collectd.init @@ -1,5 +1,5 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2010 OpenWrt.org START=80 BINARY="/usr/sbin/collectd" @@ -7,23 +7,22 @@ PIDFILE="/var/run/collectd.pid" DATADIR="/var/lib/collectd" start() { - [ -x "$BINARY" ] || exit 1; - - if [ -e "$PIDFILE" ] - then - kill $(cat "$PIDFILE") 2>/dev/null - sleep 1 - fi - + [ -x "$BINARY" ] || exit 1 [ -d "$DATADIR" ] || mkdir -p "$DATADIR"; - $BINARY + rm -f $PIDFILE + start-stop-daemon -S -q -b -x $BINARY -m -p $PIDFILE -- -f } stop() { - kill $(cat "$PIDFILE") 2>/dev/null -} + [ -s "$PIDFILE" ] && { + local pid="$(cat $PIDFILE)" + + start-stop-daemon -K -q -n ${BINARY##*/} -p $PIDFILE -restart() { - start + for i in 1 2 3 4 5; do + kill -0 $pid 2>/dev/null || return + sleep 1 + done + } }