diff --git a/dsmon.sh b/dsmon.sh index 3f61f3c..8b53045 100755 --- a/dsmon.sh +++ b/dsmon.sh @@ -136,6 +136,7 @@ CHECK(){ echo -en "${idsCL[LightCyan]}${MSG}${spc}: " #for hostid in "${!host_ip[@]}"; do for hostname in "${hostnames_sort[@]}"; do + until [ $(ls /tmp/dscheck.${hostname}.running 2>/dev/null | wc -l) -lt 2 ]; do tmp=tmp; done RUN_CHECK ${hostname} > /tmp/dscheck.${hostname}.results 2>/dev/null & done echo -e "${idsCL[LightGreen]}Done${idsCL[Default]}" @@ -171,6 +172,7 @@ CHECK(){ RUN_CHECK(){ hostname=${1} + touch /tmp/dscheck.${hostname}.running hostid=${host_ids[$hostname]} # if [ "${1}" != "report" ]; then echo -e "${idsST[Bold]}"; DIVIDER false lightCyan 85 @@ -308,7 +310,7 @@ RUN_CHECK(){ # [ "${1}" != "report" ] && echo -e "${idsCL[Yellow]} ${host_name[$hostid]} is down${idsCL[Default]}"; echo fi - touch /tmp/dscheck.${hostname}.done + mv /tmp/dscheck.${hostname}.running /tmp/dscheck.${hostname}.done } SETUPSSH(){