+
+ local TOT_WAIT=0
+ local MAX_WAIT=$DURATION
+ local SHORT_WAIT=5
+
+ local rc
+ while [[ $TOT_WAIT -le $MAX_WAIT ]]; do
+ rc=0
+ echo sleeping $SHORT_WAIT sec ...
+ sleep $SHORT_WAIT
+ # this only checks whether processes exist
+ for P in $RACER_PROGS; do
+ killall -0 $P.sh
+ [[ $? -eq 0 ]] && (( rc+=1 ))
+ done
+ if [[ $rc -eq 0 ]]; then
+ echo there should be NO racer processes:
+ ps aux | grep -E "${RACER_PROGS// /|}"
+ return 0
+ fi
+ echo -n "Waited $(( TOT_WAIT + SHORT_WAIT)), rc=$rc "
+ (( SHORT_WAIT+=SHORT_WAIT ))
+ (( TOT_WAIT+=SHORT_WAIT ))
+ done
+ ps aux | grep -E "${RACER_PROGS// /|}"
+ return 1