[systemd-devel] howto handle one time shutdown programs

Andreas Buschmann buschman at tech.net.de
Tue Jun 30 04:35:26 PDT 2015


Hello Johannes,

On Thu 25-Jun-2015 20:09 CEST Johannes Ernst writes:

>> On Jun 25, 2015, at 7:57, Andreas Buschmann <buschman at tech.net.de> wrote:
>> 
>> I am writing a systemd .service file to handle NVDIMMs.
>> 
>> - start
>> - stop
>> - reload
>> all work
>> 
>> The problem child is "restart".
>> Restart is internally implemented as stop followed by start.
>> 
>> The problem is, that stop calls a program which does something to the
>> NVDIMM hardware.
>> After that no further access to the NVDIMMs is possible before the next
>> reboot of the server.
>> 
>> How should I handle that sort of logic with systemd?
>
> How is that different from the user executing:
>
> systemctl start your.service
> systemctl stop your.service
> systemctl start your.service
>
> without reboot?

It is not different, but that sequence can not work with my
implementation of the service.

systemctl stop your.service
can only be called once.

My stop script shuts down the hardware.
Think like parking a hard disk.


I am not sure on how to do that the systemd way.

I have no problem with spliting the service up into 
myservice1 and myservice2, but than myservice2 has to be called exactly
once before a shutdown or a reboot completes.


					Mit freundlichen Gruessen
						Andreas Buschmann

p.s. I am not trying to convert an existing sysv init script to a
     systemd one. This is a new hardware. There is no init script.
     If I had to write a sysv initscript I would do something like
     Andrei described.
-- 

Andreas Buschmann
[Senior Systems Engineer]

net.DE AG
Büttnerstraße 57
D-30165 Hannover 


More information about the systemd-devel mailing list