]> arthur.barton.de Git - netdata.git/commitdiff
fixed system/netdata-init-d.in script to check status prior stop/start, fixes #1381
authorIvan Vari <ivan.adam.vari@ivanvari.com>
Sat, 17 Dec 2016 08:10:03 +0000 (09:10 +0100)
committerIvan Vari <ivan.adam.vari@ivanvari.com>
Sat, 17 Dec 2016 08:10:03 +0000 (09:10 +0100)
system/netdata-init-d.in

index edda9950f0488f707261686681d776d117f3db18..d6c3967a304b3f9630aadce05b71e31becc134c2 100644 (file)
@@ -17,12 +17,18 @@ PIDFILE=@localstatedir_POST@/run/$DAEMON.pid
 DAEMONOPTS="-P $PIDFILE"
 STOP_TIMEOUT="10"
 
+[ -e /etc/sysconfig/$DAEMON ] && . /etc/sysconfig/$DAEMON
+
+LOCKFILE=/var/lock/subsys/$DAEMON
+
 service_start()
 {
-       echo "Starting $DAEMON..."
+       [ -x $DAEMON_PATH ] || exit 5
+       echo -n "Starting $DAEMON..."
        daemon $DAEMON_PATH/$DAEMON $DAEMONOPTS
        RETVAL=$?
        echo
+       [ $RETVAL -eq 0 ] && touch $LOCKFILE
        return $RETVAL
 }
 
@@ -31,10 +37,8 @@ service_stop()
        printf "%-50s" "Stopping $DAEMON..."
        killproc -p ${PIDFILE} -d ${STOP_TIMEOUT} $DAEMON
        RETVAL=$?
-       if [ $RETVAL -eq 0 ]; then
-               rm -f ${PIDFILE}
-       fi
        echo
+       [ $RETVAL -eq 0 ] && rm -f ${PIDFILE} ${LOCKFILE}
        return $RETVAL
 }
 
@@ -56,9 +60,11 @@ service_status()
 
 case "$1" in
 start)
+       service_status && exit 0
        service_start
 ;;
 stop)
+       service_status || exit 0
        service_stop
 ;;
 restart)