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. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel