[systemd-devel] How to start unit before everything else on shutdown

Nikolaus Rath Nikolaus at rath.org
Thu Nov 27 12:11:29 PST 2014


Mantas Mikulėnas <grawity at gmail.com> writes:
> On Wed, Nov 26, 2014 at 11:06 PM, Nikolaus Rath <Nikolaus at rath.org> wrote:
>
>> Hello,
>>
>> I'd like to start a unit on system shutdown and reboot, but do so
>> immediately after the "systemctl reboot" command is executed, before any
>> other units are terminated.
>
> Out of curiosity, what does your unit do? Is there a specific reason for it
> to be absolutely first?

Yes there is. My computer does not shut down correctly when the X11
console is active. Switching to a text console first circumvents the
problem. So I want to run "chvt" as the very first thing when the system
gets the shutdown/reboot command.

>> At first I thought that Before=shutdown.target might work, but thinking
>> about it, I think this just means that my unit will be started before
>> shutdown.target has been reached, but jobs to terminate other units may
>> be started before my unit. Is that correct?
>
> I think you'd need the unit to be After all regular units, have an empty
> ExecStart, and do its thing in ExecStop. So it'd be started after
> everything else, do nothing, and be stopped before everything else.

I'll try that, thanks!


Best,
-Nikolaus

-- 
GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F
Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F

             »Time flies like an arrow, fruit flies like a Banana.«


More information about the systemd-devel mailing list