<div dir="ltr">If you want to run it early in the shutdown process, then keep DefaultDependencies=yes, in which case it will run before the base dependencies start to get stopped.<div><br></div><div>If you need some other resources to be up, for instance network, then add After=network.target, etc.</div><div><br></div><div>Remember that when shutting down, the dependencies are stopped in the opposite order as they're started up, so if you need your script to run *before* something else is stopped, then you need an After= dependency.</div><div><br></div><div>You shouldn't add any ordering regarding reboot.target and shutdown.target. Just enable your service (so that it looks up during normal system usage), when the system goes down it will be stopped, and then depending on its After= dependencies it will block those other services from being stopped until you're done.</div><div><br></div><div>In recent systemd versions (I think starting from v238?) you can omit the ExecStart=/bin/true line, an unit without that line starts to be valid in one of those versions... Though keeping it around is fine and will work with older versions too.</div><div><br></div><div>I hope this helps!</div><div><br></div><div>Cheers,</div><div>Filipe</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 16, 2019 at 10:47 AM Christopher Cox <<a href="mailto:ccox@endlessnow.com">ccox@endlessnow.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I need to be able to execute a script before anything gets shutdown.  That is, <br>
when somebody does a "reboot", "shutdown" or "poweroff", I need this script to <br>
run first, and for it to finish before everything gets whacked.<br>
<br>
I know the following isn't "right"... I've tried so many different things.  <br>
Google hasn't helped only giving me many "right" solutions that didn't work. In <br>
this current edition, basically I get a partial capture of processes that are <br>
running (that is some were killed directly or indirectly).. I need them all.  My <br>
script needs to see the state of operation before reboot/shutdown/poweroff do <br>
anything else.  My "save" saves some information about running processes (some <br>
not necessarily under systemd control).<br>
<br>
[Unit]<br>
Description=my-service save status<br>
DefaultDependencies=no<br>
Before=reboot.target shutdown.target<br>
Conflicts=reboot.target shutdown.target<br>
<br>
[Service]<br>
Type=oneshot<br>
RemainAfterExit=yes<br>
ExecStart=/bin/true<br>
ExecStop=/usr/local/bin/my-service.sh save<br>
StandardOutput=journal<br>
<br>
[Install]<br>
WantedBy=multi-user.target<br>
<br>
_______________________________________________<br>
systemd-devel mailing list<br>
<a href="mailto:systemd-devel@lists.freedesktop.org" target="_blank">systemd-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/systemd-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/systemd-devel</a><br>
</blockquote></div>