Hello Andrei, On Tue 30-Jun-2015 15:45 CEST Andrei Borzenkov writes:
> On Tue, Jun 30, 2015 at 2:35 PM, Andreas Buschmann <busch...@tech.net.de> > wrote: >> Hello Johannes, >> >> On Thu 25-Jun-2015 20:09 CEST Johannes Ernst writes: >> >>>> On Jun 25, 2015, at 7:57, Andreas Buschmann <busch...@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. >> > > You could place separate shutdown hook in > /usr/lib/systemd/system-shutdown/. Note that all executables there are > run concurrently in case it matters. It works. But only if everything you need is in the root filesystem. It would be helpful if the man page for man systemd-shutdown would be extended by: ------------------------------------------------------------------------------- The executables in /usr/lib/systemd/system-shutdown only have access to the root filesystem (/). All other filesystems are not mounted any more. The remaining mounts are: /proc /sys /dev For debugging these scripts redirect your output to /dev/ttyS0 or /dev/ttyS1 and log that output over a serial console switch. ------------------------------------------------------------------------------- Mit freundlichen Gruessen Andreas Buschmann -- Andreas Buschmann [Senior Systems Engineer] net.DE AG Büttnerstraße 57 D-30165 Hannover _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel