]] Gerrit Pape > A good convention for service programs would be to functionally test for > services it needs very early on startup, and fail if dependencies are > not available. The service supervisor (any modern init scheme seems to > now support this) relaunches eventually, until all dependencies are > fulfilled. Consequently, if while running one of the needed services > fails for some reason, fail also. Supervisors are going to bring things > up again. That's how runit does things. > > If the initialization of some (bloat) service program really is that > expensive before it can functionally check for dependencies, it could > implement the wait-and-retry on its own.
I don't think it's a good idea for random daemons to implement support for «wait until a particular file system in fstab is mounted», which seems to be what you're advocating for. Also, having this support in every single daemon means the local admin is at the mercy of various upstreams to implement this support (of which some portion are going to go «I don't want to implement that»), rather than having it implemented once, correctly, in the init system. The waste of CPU cycles is the least of the problems dependencies try to fix. Incorrect operation is a much more interesting one. -- Tollef Fog Heen UNIX is user friendly, it's just picky about who its friends are