diff --git a/advanced/Scripts/chronometer.sh b/advanced/Scripts/chronometer.sh index 3e77f578..3126ed25 100755 --- a/advanced/Scripts/chronometer.sh +++ b/advanced/Scripts/chronometer.sh @@ -13,6 +13,7 @@ LC_NUMERIC=C # Retrieve stats from FTL engine pihole-FTL() { + local ftl_port LINE ftl_port=$(cat /run/pihole-FTL.port 2> /dev/null) if [[ -n "$ftl_port" ]]; then # Open connection to FTL @@ -20,12 +21,13 @@ pihole-FTL() { # Test if connection is open if { "true" >&3; } 2> /dev/null; then - # Send command to FTL - echo -e ">$1" >&3 + # Send command to FTL and ask to quit when finished + echo -e ">$1 >quit" >&3 - # Read input + # Read input until we received an empty string and the connection is + # closed read -r -t 1 LINE <&3 - until [[ ! $? ]] || [[ "$LINE" == *"EOM"* ]]; do + until [[ -z "${LINE}" ]] && [[ ! -t 3 ]]; do echo "$LINE" >&1 read -r -t 1 LINE <&3 done