Обычно cron запускается в 23:59:00 , сканирует все файлы crontab, отфильтровывает тех, кто имеет отношение к 23:59, а затем запускает их. Сканирование этих файлов выполняется очень быстро, потому что их не так много, и все они содержат только несколько строк. Поэтому обычно cronjobs начинаются в 23:59:00 или 23:59:01.
Есть определенные способы намеренно замедлить этот процесс. (добавить миллионы строк в crontab, например). Если система полностью перегружена, это тоже не будет работать так быстро.
Кроме того, это, очевидно, зависит от реализации.
Если вам нужно очень точное время запуска, вам лучше создать программу, которая спит до нужного времени, а затем запускается (например, с помощью c ++ 11 ). Но на ОС не реального времени это также не будет точным! Также часы ПК не знают точное время!
Во всех случаях это только гарантирует, что программа запускается в (более или менее) нужное время. Не может быть никакой гарантии, что программа завершится успешно до определенного времени, поэтому я твердо верю, что вы должны что-то изменить по этому требованию.