diff options
Diffstat (limited to 'system/netdata-init-d.in')
-rw-r--r-- | system/netdata-init-d.in | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/system/netdata-init-d.in b/system/netdata-init-d.in new file mode 100644 index 0000000..9ac5101 --- /dev/null +++ b/system/netdata-init-d.in @@ -0,0 +1,94 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-3.0-or-later +# +# netdata Real-time performance monitoring, done right +# chkconfig: 345 99 01 +# description: Netdata is a daemon that collects data in real-time (per second) +# and presents a web site to view and analyze them. The presentation +# is also real-time and full of interactive charts that precisely +# render all collected values. +# processname: netdata + +# Source functions +. /etc/rc.d/init.d/functions + +DAEMON="netdata" +DAEMON_PATH=@sbindir_POST@ +PIDFILE_PATH=@localstatedir_POST@/run/netdata +PIDFILE=$PIDFILE_PATH/$DAEMON.pid +DAEMONOPTS="-P $PIDFILE" +STOP_TIMEOUT="60" + +[ -e /etc/sysconfig/$DAEMON ] && . /etc/sysconfig/$DAEMON + +LOCKFILE=/var/lock/subsys/$DAEMON + +service_start() +{ + [ -x $DAEMON_PATH ] || exit 5 + [ ! -d $PIDFILE_PATH ] && mkdir -p $PIDFILE_PATH + echo -n "Starting $DAEMON..." + daemon $DAEMON_PATH/$DAEMON $DAEMONOPTS + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch $LOCKFILE + return $RETVAL +} + +service_stop() +{ + printf "%-50s" "Stopping $DAEMON..." + killproc -p ${PIDFILE} -d ${STOP_TIMEOUT} $DAEMON + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f ${PIDFILE} ${LOCKFILE} + return $RETVAL +} + +condrestart() +{ + if ! service_status > /dev/null; then + RETVAL=$1 + return $RETVAL + fi + + service_stop + service_start +} + +service_status() +{ + status -p ${PIDFILE} $DAEMON_PATH/$DAEMON +} + +service_status_quiet() +{ + status -p ${PIDFILE} $DAEMON_PATH/$DAEMON >/dev/null 2>&1 +} + +case "$1" in +start) + service_status_quiet && exit 0 + service_start +;; +stop) + service_status_quiet || exit 0 + service_stop +;; +restart) + service_stop + service_start +;; +try-restart) + condrestart 0 + ;; +force-reload) + condrestart 7 +;; +status) + service_status +;; +*) + echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}" + exit 3 +esac |