Could a previous cronjob be hanging, waiting for the initscript to finish?
I bet the daemon doesn't die as expected sometimes.
Aha! looking at 'ps aux' we have:
crond /bin/bash /usr/bin/run-parts /etc/cron.daily awk -v progname=/etc/cron.daily/gk-restart ... <lots more junk>
All at 4:02 AM which is when cron.daily is processed.
The awk process is from the run-parts script. So even though my init script works perfectly from the command line, it seems to be somehow incompatible with run-parts. I guess that's something to go on. Looks like I'll need to disect run-parts to see what's happening.
Thanks,
Jeff