On Jul 25, 2012 6:14 PM, "Kevin Chadwick" <ma1l1ists@yahoo.co.uk> wrote:
Why you would want to specify which services had to come before or after which other services is obvious when you consider that systemd boots services in parallel. There is no way in the current system, and no way without specifying, to boot several daemons at the same time and then boot other daemons afterwards
Maybe you could be clearer because scripting is almost boundless.
There is no way to specify in DAEMONS that syslog-ng and dbus should be started in parallel, and only when they are both up and running should network manager be started.
that depend on them having completely launched.
In the interests of learning for my scripts and hopefully without leading the witnesses who may badger Tom? I'm interested to know how systemd knows universally that a service is "completely launched" ignoring that daemons themselves don't always know?
A well written sysv daemon should only double fork once it is 'ready'. initscripts relies on this behaviour already (that is how we know when to start the 'next' daemon from the DAEMONS array). Systemd can either use this mechanism (Type= forking) or one of several other ones. That said, there its no magic: if the daemon does not know, then systemd does not know. Cheers, Tom