Эх сурвалжийг харах

Added explanatory text for systemd-230+ process lingering changes.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11104 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
DJ Lucas 8 жил өмнө
parent
commit
ab9b18b210

+ 10 - 0
chapter01/changelog.xml

@@ -42,6 +42,16 @@
     <listitem revision="sysv"> or <listitem revision="systemd"> as
     appropriate for the entry or if needed the entire day's listitem.
 -->
+   <listitem revision="systemd">
+      <para>2016-08-09</para>
+      <itemizedlist>
+        <listitem>
+          <para>[dj] - Added explanatory text for systemd-230+ process
+          lingering changes.</para>
+        </listitem>
+      </itemizedlist>
+   </listitem>
+
    <listitem>
       <para>2016-08-06</para>
       <itemizedlist>

+ 56 - 0
chapter07/systemd-custom.xml

@@ -173,4 +173,60 @@ EOF</userinput></screen>
     </itemizedlist>
 
   </sect2>
+
+  <sect2>
+    <title>Long Running Processes</title>
+
+    <para>Beginning with systemd-230, all user processes are killed when a
+    user session is ended, even if nohup is used, or the process uses
+    <function>daemon()</function> or <function>setsid()</function>. This is a
+    deliberate change from a historically permissive environment to a more
+    restrictive one. The new behavior may cause issues if you depend on long
+    running programs (e.g., <command>screen</command> or
+    <command>tmux</command>) to remain active after ending your user
+    session. There are three ways to enable lingering processes to remain after
+    a user session is ended.</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>
+          <emphasis>Enable process lingering for only needed users</emphasis>:
+          normal users have permission to enabling process lingering
+          with the command <command>loginctl enable-linger</command> for their
+          own user. System administrators can use the same command with a
+          <parameter>user</parameter> argument to enable for a user. That user
+          can then use the <command>systemd-run</command> command to start
+          long running processes. For example: <command>systemd-run --scope
+          --user /usr/bin/screen</command>. If you enable lingering for your
+          user, the user@.service will remain even after all login sessions are
+          closed, and will automatically start at system boot. This has the
+          advantage of explicitly allowing and disallowing processes to run
+          after the user session has ended, but breaks backwards compatibility
+          with tools like <command>nohup</command> and utilities that use
+          <function>deamon()</function>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <emphasis>Enable system-wide process lingering</emphasis>:
+          you can set <parameter>KillUserProcesses=no</parameter> in
+          <filename>/etc/logind.conf</filename> to enable process lingering
+          globally for all users. This has the benefit of leaving the old
+          method available to all users at the expense of explicit control.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <emphasis>Disable at build-time</emphasis>: You can enable
+          lingering by default while building systemd by adding the switch
+          <parameter>--without-kill-user-processes</parameter> to the
+          <command>configure</command> command for systemd. This completely
+          disables the ability of systemd to kill user processes at session
+          end.
+        </para>
+      </listitem>
+    </itemizedlist>
+
+  </sect2>
+
 </sect1>

+ 3 - 3
general.ent

@@ -1,13 +1,13 @@
-<!ENTITY version         "SVN-20160805">
+<!ENTITY version         "SVN-20160809">
 <!ENTITY short-version   "svn">  <!-- Used below in &blfs-book; 
                                       Change to x.y for release but not -rc releases -->
 <!ENTITY generic-version "development"> <!-- Use "development"  or "x.y[-pre{x}]" -->
 
-<!ENTITY versiond        "20160806-systemd">
+<!ENTITY versiond        "20160809-systemd">
 <!ENTITY short-versiond  "systemd">
 <!ENTITY generic-versiond "systemd"> 
 
-<!ENTITY releasedate     "August 6, 2016">
+<!ENTITY releasedate     "August 9, 2016">
 <!ENTITY copyrightdate   "1999-2016"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone       "7.10">
 

+ 1 - 1
packages.ent

@@ -188,7 +188,7 @@
 <!ENTITY findutils-ch6-sbu "1.6 SBU">
 
 <!ENTITY flex-version "2.6.1">
-<!ENTITY flex-size "916 KB">
+<!ENTITY flex-size "816 KB">
 <!ENTITY flex-url "https://github.com/westes/flex/releases/download/v&flex-version;/flex-&flex-version;.tar.xz">
 <!ENTITY flex-md5 "cd3c86290fc2676a641aefafeb10848a">
 <!ENTITY flex-home "http://flex.sourceforge.net">