I think you have created a loop of things.
For example consider the following (bad) script, lets call it
while :; du -sh /home/user >> /some/file 2>/dev/null; sleep 5; done
Now create a
cron entry so that
check.sh will run after every 30 minutes:
*\30 * * * * bash /path/to/check.sh
Lets consider the script first run at 10:00, the disk space will be checked and saved in a file. The tricky part is
sleep 5, if you don't put a valid condition for closing it, it will pause the script for 5 secs and then will continue from the top meaning the same checking and writing operation. This loop will go on and on.
Again after 30 mins,
cron starts a new process that will do the same thing over and over again. Remember the first process started by
cron at 10:00 is still running.
This cycle will continue and in 6 hours you will have 13 of the same processes triggered by
cron and most importantly every process is running in a indefinite loop.
In summary, while using
cron you don't need things like
sleep 5 unless your operation demands something like that, in the latter case put a valid condition so that the process does not run indefinitely.