Normalmente, o cron irá iniciar em 23:59:00 , verificar todos os seus arquivos crontab, filtrar aqueles que forem relevantes para 23:59 e iniciá-los. A digitalização desses arquivos é muito rápida, porque não há muitos deles e todos incluem apenas algumas linhas. Então, normalmente, os cronjobs começam em 23:59:00 ou 23:59:01
Existem algumas maneiras de desacelerar intencionalmente esse processo. (adicione milhões de linhas ao crontab, por exemplo).
Se o sistema estiver totalmente sobrecarregado, isso também não funcionará tão rápido.
Além disso, isso é obviamente dependente da implementação.
Se você precisar de horários de início muito precisos, é melhor criar um programa que durma até a hora desejada e, em seguida, ser executado (por exemplo, usando c + + 11 ). Mas em um sistema operacional não em tempo real, isso também não será exato! Além disso, o relógio do PC não sabe a hora exata!
Em todos os casos, isso só garante que o programa seja iniciado em (mais ou menos) o tempo desejado. Não pode haver qualquer garantia de que o programa termina bem-sucedido até um determinado momento, por isso acredito firmemente que você deve mudar alguma coisa nesse requisito.