cron(8) mis-feature with @reboot long after system startup
Dieter BSD
dieterbsd at engineer.com
Fri Nov 25 17:53:49 UTC 2011
The system doesn't go multiuser until the rc jobs complete,
even if you attempt to background them with '&'. This can be
a problem with long running jobs. I started using cron @reboot
for this reason.
I haven't run into the problem since I've never needed to run
/etc/rc.d/cron restart.
> Add an option to cron to check lastlog and if within 5 or 10 minutes
> of the last reboot, then call run_reboot_jobs().
Depending on timestamps might be okay as a temporary quick-and-dirty
workaround, but there is likely to be a case where it will also do the
wrong thing. What if you need to restart cron within the 5-10 minutes?
Maybe something like: rc script sets a flag, cron_reboot script checks
and resets flag. The flag could be a file ("> /tmp/rebooting_system").
Better yet, a run-the-reboot-script command line option could be added
to cron.
More information about the freebsd-hackers
mailing list