echo "MAIN_LOOP: sleeping $INTERVAL seconds." >&2 sleep "$INTERVAL" & SLEEP_PID=$! while kill -0 $SLEEP_PID; do echo "MAIN_LOOP: sleeping..." >&2 while read -r -t 1 CLIENT_ID CLIENT_COMMAND CLIENT_PARAMETERS; do echo "COMMAND_CHANNEL: got $CLIENT_ID $CLIENT_COMMAND $CLIENT_PARAMETERS" >&2 done <"$FIFONAME" done echo "MAIN_LOOP: continuing with next iteration" >&2