aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chapter01/changelog.xml10
-rw-r--r--chapter07/systemd-custom.xml56
-rw-r--r--general.ent6
-rw-r--r--packages.ent2
4 files changed, 70 insertions, 4 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 8fdefa9f7..e3c9f71a6 100644
--- a/chapter01/changelog.xml
+++ b/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>
diff --git a/chapter07/systemd-custom.xml b/chapter07/systemd-custom.xml
index 26f29beb4..4a5a0187e 100644
--- a/chapter07/systemd-custom.xml
+++ b/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>
diff --git a/general.ent b/general.ent
index 40887a445..cbffce239 100644
--- a/general.ent
+++ b/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">
diff --git a/packages.ent b/packages.ent
index c375a90df..af61289d9 100644
--- a/packages.ent
+++ b/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">