diff options
Diffstat (limited to 'debian/netdata.init')
-rw-r--r-- | debian/netdata.init | 39 |
1 files changed, 9 insertions, 30 deletions
diff --git a/debian/netdata.init b/debian/netdata.init index 731ba47fd..1873843fb 100644 --- a/debian/netdata.init +++ b/debian/netdata.init @@ -23,7 +23,7 @@ . /lib/lsb/init-functions NAME=netdata -PIDFILE=/var/run/netdata.pid +PIDFILE=/run/netdata.pid DAEMON=/usr/sbin/$NAME DAEMON_USER=$NAME DAEMON_ARGS="-P $PIDFILE" @@ -35,6 +35,8 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin DESC="the netdata daemon" CONF_FNAME=/etc/netdata/netdata.conf +STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}" + case "$1" in start) if [ ! -f "$CONF_FNAME" ]; then @@ -44,16 +46,15 @@ case "$1" in log_action_begin_msg "Starting $DESC" - if start-stop-daemon --stop --signal 0 --quiet --pidfile $PIDFILE --exec $DAEMON; then - log_action_end_msg 0 "already running" - else - if start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS - then + if start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON --test; then + if start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON -- $DAEMON_ARGS; then log_action_end_msg 0 else log_action_end_msg 1 exit 1 fi + else + log_action_end_msg 0 "already running" fi ;; stop) @@ -64,30 +65,8 @@ case "$1" in exit 0 fi - if start-stop-daemon --stop --signal INT --quiet --pidfile $PIDFILE --exec $DAEMON; then - true - elif kill -0 $pid 2>/dev/null; then - log_action_end_msg 1 "Is $pid not $NAME? Is $DAEMON a different binary now?" - exit 1 - else - log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied" - exit 1 - fi - ;; - reload) - log_action_begin_msg "Reloading $DESC configuration" - pid=`cat $PIDFILE 2>/dev/null` || true - if test ! -f $PIDFILE -o -z "$pid"; then - log_action_end_msg 1 "not running - there is no $PIDFILE" - exit 1 - fi - - if start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE --exec $DAEMON - then - log_action_end_msg 0 - elif kill -0 $pid 2>/dev/null; then - log_action_end_msg 1 "Is $pid not $NAME? Is $DAEMON a different binary now?" - exit 1 + if start-stop-daemon --stop --quiet --pidfile $PIDFILE --retry=$STOP_SCHEDULE; then + log_action_end_msg 0 else log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied" exit 1 |