4 ms·
If you really want to wrap your service startup in a bash script, I don't think systemd precludes that approach.
by wstrange 11y ago
If you really want to wrap your service startup in a bash script, I don't think systemd precludes that approach.
- simoncion 11y agoBut, that's kinda the thing... Folks gush about how concise systemd unit files are. For services that require no complicated pre-start checks or configuration, equivalent service start scripts are more concise and just as legible in either OpenRC or -AIUI- Upstart. (Look at my conversion of a simple systemd unit file [0] to an OpenRC init script. [1]) What's more, for jobs that need complicated pre-start logic of one kind or another -AIUI- systemd provides no way to bundle that logic with your service description file. You have to put that logic in another script file which is then called by systemd. EDIT: I can't speak to Upstart, but even if your service has dependencies or needs to be started before or after some other service or class of service, [2] specifying them is similarly concise and legible. Add depend() { use some_optional_service need some_requred_service before some_service_or_service_class after some_other_service_or_srv_class } somewhere near the top of your script. For most services, this adds three non-whitespace lines. :) [0] https://news.ycombinator.com/item?id=10355588 https://news.ycombinator.com/item?id=10355588 [1] https://news.ycombinator.com/item?id=10357010 https://news.ycombinator.com/item?id=10357010 [2] For example: The network start scripts provide the "net" service. You might have a service that -for some reason- needs to start before or after the "net" service, but doesn't actually depend on it to start. This is what "before" and "after" are used for.