On Wed, Dec 31, 2014 at 8:37 AM, Alexandre Detiste <alexandre.deti...@gmail.com> wrote: > Le mercredi 31 décembre 2014, 08:23:51 Mantas Mikulėnas a écrit : >> Even for .timer units, systemd simply sleeps until it's actually time >> for the next event – like cron, or Task Scheduler for that matter. >> There shouldn't be any "is it time yet?". > > In fact, many people complain that cron does wakes up their laptop every > minute; > and that increase battery consumption, while systemd timers doesn't suffer > from this. > > http://unixhelp.ed.ac.uk/CGI/man-cgi?crond > [ Additionally, cron checks each minute to see if its spool directory's > [ modtime (or the modtime on /etc/crontab) has changed > > http://content.hccfl.edu/pollock/unix/crontab.htm > [ Each minute the cron daemon wakes up and compares the crontab file entries > against the current time. > [ If the five fields match the current minute then the command is executed.
The original cron stopped doing this *in 1977* – at least according to the history article [1], it learned to sleep exactly right until the next event and re-read the crontab only every *30 minutes*. But I took a look at vixie-cron on Debian 6, and yes, it wakes up to stat() all crontabs to check for updates. Which makes the fancy event list algorithm moot :( Meanwhile, Arch's default 'cronie' is more modern and uses inotify. [1]: https://en.wikipedia.org/wiki/Cron#History -- Mantas Mikulėnas <graw...@gmail.com> _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel