From 8669ccb9c17616a20c4fe7f7074e2aaade5aeca0 Mon Sep 17 00:00:00 2001 From: Darko Poljak Date: Tue, 9 Oct 2018 18:25:35 +0200 Subject: [PATCH] Improve shell code. --- cdist/conf/type/__daemontools/files/init.d-svscan | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/cdist/conf/type/__daemontools/files/init.d-svscan b/cdist/conf/type/__daemontools/files/init.d-svscan index 6b4dba1d..996eb4e8 100644 --- a/cdist/conf/type/__daemontools/files/init.d-svscan +++ b/cdist/conf/type/__daemontools/files/init.d-svscan @@ -24,7 +24,7 @@ fi case "$1" in start) printf "Starting daemontools: " - if [ ! "$(pidof svscan)" ]; then + if ! pidof svscan > /dev/null 2>&1; then printf "svscan " env - PATH="$PATH" svscan /service 2>&1 | setuidgid daemon multilog t /var/log/svscan & echo "." @@ -34,11 +34,16 @@ case "$1" in ;; stop) printf "Stopping daemontools: " - if [ "$(pidof svscan)" ]; then + pids="$(pidof svscan)" + if [ -n "${pids}" ] + then printf "svscan" - while [ "$(pidof svscan)" ]; do - kill "$(pidof svscan)" - printf "." + while [ -n "${pids}" ] + do + # shellcheck disable=SC2086 + kill ${pids} + printf "." + pids="$(pidof svscan)" done fi printf " services"