<div dir="ltr">Hi Martin,<div><br></div><div>Thanks a lot for your answer.</div><div><br></div><div>How about if my specific script is written by SysVinit, it has LSB headers, can we still use in LSB header the property l<span style="font-size:12.8px">After= as in systemd to make it start/stop orderly?</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Another solution I think to make it shutdowns "order" when I read systemd-halt.service in <a href="https://www.freedesktop.org/software/systemd/man/systemd-halt.service.html">https://www.freedesktop.org/software/systemd/man/systemd-halt.service.html</a></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">"</span><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">Immediately before executing the actual system halt/poweroff/reboot/kexec </span><code class="" style="color:rgb(0,0,0)">systemd-shutdown</code><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium"> will run all executables in </span><code class="" style="color:rgb(0,0,0)">/usr/lib/systemd/system-shutdown/</code><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium"> and pass one arguments to them: either "</span><code class="" style="color:rgb(0,0,0)">halt</code><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">", "</span><code class="" style="color:rgb(0,0,0)">poweroff</code><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">", "</span><code class="" style="color:rgb(0,0,0)">reboot</code><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">" or "</span><code class="" style="color:rgb(0,0,0)">kexec</code><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">", depending on the chosen action. All executables in this directory are executed in parallel, and execution of the action is not continued before all executables finished."</span></div><div><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium"><br></span></div><div><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">Can I put a script to terminate my specific script in </span><span style="color:rgb(0,0,0);font-family:monospace">/usr/lib/systemd/system-shutdown/? </span><span style="color:rgb(0,0,0)"><font face="Times New Roman" size="3">As the description, the script will be run to terminate my script </font></span><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">before executing the actual system shutdown?</span></div><div><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium"><br></span></div><div><span style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">Some people on internet also tried to make a script to do something before e</span><font color="#000000" face="Times New Roman" size="3">verything else on shutdown with systemd like <a href="http://superuser.com/questions/1016827/how-do-i-run-a-script-before-everything-else-on-shutdown-with-systemde">http://superuser.com/questions/1016827/how-do-i-run-a-script-before-everything-else-on-shutdown-with-systemde</a></font></div><div><font color="#000000" face="Times New Roman" size="3"><br></font></div><div><font color="#000000" face="Times New Roman" size="3">How do you think if I can make a script to terminate my script before all other services shutdown like above to make it "order"?</font></div><div><font color="#000000" face="Times New Roman" size="3"><br></font></div><div><font color="#000000" face="Times New Roman" size="3">Thanks a lot.</font></div><div><font color="#000000" face="Times New Roman" size="3"><br></font></div><div><font color="#000000" face="Times New Roman" size="3">Best regards,</font></div><div><font color="#000000" face="Times New Roman" size="3">Natsu</font></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 19, 2016 at 3:57 PM, Martin Pitt <span dir="ltr"><<a href="mailto:martin.pitt@ubuntu.com" target="_blank">martin.pitt@ubuntu.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Bao,<br>
<br>
Bao Nguyen [2016-05-19 15:52 +0700]:<br>
<span class="">> When the system is shutdown, systemd will terminate all services in<br>
> parallel manner, could you let me know if there is any ways to tell systemd<br>
> to shutdown a specific service first, then shutdown all remaining services?<br>
<br>
</span>The concept of "first"/"last" has no well-defined meaning in any<br>
non-serial init systems (not even SysV init with insserv, only with<br>
classic SysV init with manually set priorities). I've heard requests<br>
like "but this needs to be started as the last thing" a lot in the<br>
recent years, and there's no way all the services can simultaneously<br>
be "last" :-)<br>
<br>
You should put sufficient After= properties into your service, so that<br>
it gets started after and stopped before the ones you specify. See<br>
man systemd.unit for details.<br>
<span class="HOEnZb"><font color="#888888"><br>
Martin<br>
<br>
--<br>
Martin Pitt                        | <a href="http://www.piware.de" rel="noreferrer" target="_blank">http://www.piware.de</a><br>
Ubuntu Developer (<a href="http://www.ubuntu.com" rel="noreferrer" target="_blank">www.ubuntu.com</a>)  | Debian Developer  (<a href="http://www.debian.org" rel="noreferrer" target="_blank">www.debian.org</a>)<br>
</font></span></blockquote></div><br></div>