Hi, rendaw <[email protected]> skribis:
> I think fundamentally what I'd most like to know is when should I use a > Shepherd service vs a non-Shepherd service. Maybe it's as simple as: if > you don't have any specific requirements always define a Shepherd service. It’s hard to answer that question in the abstract. Do you have an example in mind that we could work through? > As a metaphor, maybe Shepherd services would be similar to the plain > units in systemd. Yes, I think so. > Beyond what a service actually is though I have a few more questions: > > * Both > https://www.gnu.org/software/guix/manual/en/html_node/Service-Composition.html > and > https://www.gnu.org/software/guix/manual/en/html_node/Shepherd-Services.html#Shepherd-Services > appear to show a dependency graph. The first page shows a service extension graph. The second page shows a graph of dependencies among Shepherd services. These are two different beasts. > Are the dependency graphs Shepherd and non-Shepherd services > entirely separate? Or maybe I'm completely misunderstanding > "extension" in this context. Can an inet service depend on a non-inet > service? Can an inet service depend on a d-bus service? * Is there a > way to hook into service events - that is, run some code when a > service starts or stops? An inetd service cannot “depend” on a non-inetd service; a D-Bus service cannot depend on a non-D-Bus service. Both D-Bus and inetd have their own notion of what a service is, how to start it, etc., which is separate from what the Shepherd does. I reckon that calling everything a “service” does not help understand all this… HTH, Ludo’.
