You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2020/02/11 10:38:13 UTC

svn commit: r1873889 - /httpd/httpd/trunk/docs/manual/mod/mod_systemd.xml

Author: jorton
Date: Tue Feb 11 10:38:13 2020
New Revision: 1873889

URL: http://svn.apache.org/viewvc?rev=1873889&view=rev
Log:
Add some blurb on correctly stopping the service w/mod_systemd. [skip ci]

Modified:
    httpd/httpd/trunk/docs/manual/mod/mod_systemd.xml

Modified: httpd/httpd/trunk/docs/manual/mod/mod_systemd.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_systemd.xml?rev=1873889&r1=1873888&r2=1873889&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_systemd.xml (original)
+++ httpd/httpd/trunk/docs/manual/mod/mod_systemd.xml Tue Feb 11 10:38:13 2020
@@ -47,13 +47,28 @@ After=network.target
 Type=notify
 ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start
 ExecReload=/usr/local/apache2/bin/httpd -k graceful
-ExecStop=/usr/local/apache2/bin/httpd -k graceful-stop
+KillMode=mixed
 
 [Install]
 WantedBy=multi-user.target
     </pre>
     </example>
 
+   <p>Special attention should be given to how <code>ExecStop</code>
+   and/or <code>KillMode</code> are configured for the service.  If
+   configured, an <code>ExecStop</code> command should be a
+   <em>synchronous operation</em> which itself exits when the daemon
+   has terminated.  Running <code>httpd -k stop</code>
+   <em>asynchronously</em> initiates daemon termination, so does not
+   satisfy this condition.  The example above uses
+   <code>KillMode=mixed</code> so that systemd sends
+   <code>SIGTERM</code> to signal the parent process (and only the
+   parent) to shut down.  The entire process group is then sent
+   <code>SIGKILL</code> after <code>TimeoutStopSec</code> elapses, if
+   any processes are still running.  See <a
+   href="https://www.freedesktop.org/software/systemd/man/systemd.kill.html">systemd.kill(5)</a>
+   for more information.</p>
+    
    <p>This module does not provide support for Systemd socket activation.</p>
 
     <p><directive module="core">ExtendedStatus</directive> is