[systemd-devel] Supporting ExecStartPre= and friends in `systemctl set-property` or `systemd-run -p`

Lennart Poettering lennart at poettering.net
Wed Apr 8 10:28:33 PDT 2015


On Mon, 23.03.15 16:04, Ivan Shapovalov (intelfx100 at gmail.com) wrote:

> Hello,
> 
> is it possible/allowed/desired to support assigning ExecStartPre= and
> similar options via dbus interface, i. e. in `systemctl set-property` or
> `systemd-run -p`?

So far our philosophy for allowing dynamically changable properties is
that we do this only for properties we can actually really alter
dynamically at runtime. For example, properties that map to cgroup
attributes are of this kind, as we can pass them to the kernel
immediately so that they take effect. However, other properties, like
for example the nice level are not of this kind, since we can
reasonably set them only while forking off processes, and afterwards
it is not clear what to set them on (just the main process? all
processes? and what to do if the service altered its own nice level,
and applied different levels to different procecesses, what do we do
then?).

ExecStartPre= is a property we cannot really adjust dynamically, after
all it specifies what to execute, and that's only relevant during
service startup?

> I'm hitting a usecase when I need to run a service with multiple
> executed processes via `systemd-run`. I think this makes sense to
> support, isn't it?

Can you elaborate on this? A service with multiple processes?
In parallel? Normally we recommend a 1:1 mapping between services and
forked off processes, i.e. never fork off multiple processes for the
same service (unless the service does that internally...). The only
exception to this logic is for Type=oneshot services, where we allow
multiple processes, but only serialized, not parallel.

Anyway, I don't really grok what you want to to...

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list