[systemd-devel] proper way for shutdown script
Xen
list at xenhideout.nl
Wed Oct 5 16:01:55 UTC 2016
Lennart Poettering schreef op 05-10-2016 14:52:
>> nss_initgroups_ignoreusers
>> _apt,avahi,avahi-autoipd,backup,bin,colord,daemon,dnsmasq,games,gnats,hplip,irc,kernoops,list,lp,mail,man,messagebus,news,proxy,pulse,root,rtkit,saned,sddm,sshd,sync,sys,syslog,systemd-bus-proxy,systemd-network,systemd-resolve,systemd-timesync,unscd,usbmux,uucp,uuidd,whoopsie,www-data
>
> Urgs, what an ugly approach...
:).
Still better than a non-booting system :p. So apparently this situation
has already existed for quite some time.
Even worse is that by default the ldap configuration is set to
bind-policy = hard, which can also create this issue (a failing LDAP
query will then never return, or only return after a long timeout).
> It's the way to go on systemd. With current systemd you should be able
> to leave out the ExecStart=/bin/true bit, if you only care about
> shutdown?
>
> But as I understood you actually wanted to run something both at boot
> and at shutdown, hence why would you not make use of ExecStart= as
> well here?
No that's not true.
I only wanted shutdown.
If the service never gets started how can it shut down?
ExecStop does weird things on services that are oneshot but not
RemainAfterStart, at least.
> Note that the above unit file you posted is a bit contradictory: if
> you plug something into sysinit.target then your service should be an
> early-boot service, and those have to have the DefaultDependencies=no
> setting, as they need to configure their preicse ordering manually,
> instead of relying on the generic dependencies.
I realized that, but it works :p. The reason I picked it like this is
because it *seems* that you might have rescue mode situations in which
basic.target is never reached, neither is multi-user.target ever
reached, but sysinit.target will be reached?
Since this is about the system remaining bootable I considered it reason
enough to pick it like this :p.
> hence, either change the Wantedby= setting to
> WantedBy=multi-user.target and make the service a proper late-boot
> service, or also set DefaultDEpendencies=no and add the appropriate,
> manual early-boot dependencies.
Ya ya, it was documented also. I read it.
More information about the systemd-devel
mailing list