From 3eacfa9831507a7fa04ee06ca404b77ba7546328 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Wed, 12 Apr 2017 23:13:18 +0200 Subject: [PATCH 1/2] Improve FTL's service script --- advanced/pihole-FTL.service | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/advanced/pihole-FTL.service b/advanced/pihole-FTL.service index da04738b..a2cbbab1 100644 --- a/advanced/pihole-FTL.service +++ b/advanced/pihole-FTL.service @@ -17,7 +17,7 @@ get_pid() { } is_running() { - [ -f "$PIDFILE" ] && ps $(get_pid) > /dev/null 2>&1 + [ -f "$PIDFILE" ] && ps "$(get_pid)" > /dev/null 2>&1 } # Start the service @@ -36,8 +36,8 @@ start() { # Stop the service stop() { if is_running; then - kill $(get_pid) - for i in {1..10}; do + kill "$(get_pid)" + for i in {1..5}; do if ! is_running; then break fi @@ -48,7 +48,8 @@ stop() { echo if is_running; then - echo "Not stopped; may still be shutting down or shutdown may have failed" + echo "Not stopped; may still be shutting down or shutdown may have failed, killing now" + kill -9 "$(get_pid)" exit 1 else echo "Stopped" @@ -61,16 +62,13 @@ stop() { ### main logic ### case "$1" in - start) - start - ;; stop) stop ;; status) status pihole-FTL ;; - restart|reload|condrestart) + start|restart|reload|condrestart) stop start ;; From fcd92d27f706cf2a0fd2049e75960fa1c6deb116 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Wed, 12 Apr 2017 19:34:13 +0200 Subject: [PATCH 2/2] Don't use PID file but rather "pidof pihole-FTL" for detecting if another process is already running --- advanced/pihole-FTL.service | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/advanced/pihole-FTL.service b/advanced/pihole-FTL.service index a2cbbab1..30cd140f 100644 --- a/advanced/pihole-FTL.service +++ b/advanced/pihole-FTL.service @@ -13,11 +13,11 @@ FTLUSER=pihole PIDFILE=/var/run/pihole-FTL.pid get_pid() { - cat "$PIDFILE" + pidof "pihole-FTL" } is_running() { - [ -f "$PIDFILE" ] && ps "$(get_pid)" > /dev/null 2>&1 + ps "$(get_pid)" > /dev/null 2>&1 } # Start the service