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
This commit is contained in:
DJ Lucas 2016-08-09 05:53:37 +00:00
parent c8389f05c5
commit ab9b18b210
4 changed files with 70 additions and 4 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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">

View File

@ -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">