The following code-snippet is a shell-script which does the following:
- Track the time for a block of shell commands
- Check if the time was less than x seconds (the example uses 10 seconds)
- If the block run through too fast the script waits/sleeps a few seconds
- Run all this within a loop so that the block of shell-commands is executed periodically
The waiting-block is necessary because now and then the queue is empty ... but I think there are lot's of situations where a script like this can be usefull:
#!/bin/bash
while [ 1 -ge 0 ]; do
time_begin=`date +%s`
###BLOCK 2 TRACK - BEGIN
number=$RANDOM
let "number %= 20"
sleep $number
###BLOCK 2 TRACK - END
time_end=`date +%s`
total=$((time_end-time_begin))
if [[ $total -ge 10 ]]; then
echo "time taken was: $number : $total"
else
echo "time take was too less $number : $total"
sleep 10
fi
done


0 comments:
Post a Comment