diff --git a/package/busybox/S02klogd b/package/busybox/S02klogd index 0677e1e5ca..f76d4e72d4 100644 --- a/package/busybox/S02klogd +++ b/package/busybox/S02klogd @@ -13,7 +13,8 @@ KLOGD_ARGS="" start() { printf 'Starting %s: ' "$DAEMON" # shellcheck disable=SC2086 # we need the word splitting - start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + start-stop-daemon --start --background --make-pidfile \ + --pidfile "$PIDFILE" --exec "/sbin/$DAEMON" \ -- -n $KLOGD_ARGS status=$? if [ "$status" -eq 0 ]; then @@ -26,20 +27,24 @@ start() { stop() { printf 'Stopping %s: ' "$DAEMON" - start-stop-daemon -K -q -p "$PIDFILE" + start-stop-daemon --stop --pidfile "$PIDFILE" --exec "/sbin/$DAEMON" status=$? if [ "$status" -eq 0 ]; then - rm -f "$PIDFILE" echo "OK" else echo "FAIL" + return "$status" fi + while start-stop-daemon --stop --test --quiet --pidfile "$PIDFILE" \ + --exec "/sbin/$DAEMON"; do + sleep 0.1 + done + rm -f "$PIDFILE" return "$status" } restart() { stop - sleep 1 start }