chiark / gitweb /
service: rework logic when we consider a service running
[elogind.git] / man / systemd.special.xml.in
index da474b74773291c1f7a501ea0a5a51d480fd6ee2..09707aa0812572e03ea81df0bf63b90e4b6981e0 100644 (file)
         <refsynopsisdiv>
                 <para><filename>basic.target</filename>,
                 <filename>ctrl-alt-del.target</filename>,
+                <filename>@SPECIAL_DBUS_SERVICE@</filename>,
                 <filename>default.target</filename>,
+                <filename>display-manager.service</filename>,
                 <filename>emergency.service</filename>,
+                <filename>exit.service</filename>,
                 <filename>graphical.target</filename>,
                 <filename>halt.target</filename>,
                 <filename>kbrequest.target</filename>,
                 <filename>local-fs.target</filename>,
+                <filename>mail-transfer-agent.target</filename>,
                 <filename>multi-user.target</filename>,
                 <filename>network.target</filename>,
                 <filename>nss-lookup.target</filename>,
                 <filename>rescue.target</filename>,
                 <filename>rpcbind.target</filename>,
                 <filename>rtc-set.target</filename>,
-                <filename>runlevel0.target</filename>,
-                <filename>runlevel1.target</filename>,
                 <filename>runlevel2.target</filename>,
                 <filename>runlevel3.target</filename>,
                 <filename>runlevel4.target</filename>,
                 <filename>runlevel5.target</filename>,
-                <filename>runlevel6.target</filename>
                 <filename>shutdown.target</filename>,
                 <filename>sigpwr.target</filename>,
                 <filename>sockets.target</filename>,
                 <filename>swap.target</filename>,
+                <filename>sysinit.target</filename>,
                 <filename>syslog.target</filename>,
+                <filename>@SPECIAL_SYSLOG_SERVICE@</filename>,
                 <filename>systemd-initctl.service</filename>,
                 <filename>systemd-initctl.socket</filename>,
                 <filename>systemd-logger.service</filename>,
                                         target unit to all SysV
                                         service units configured for
                                         runlevel 1 to 5.</para>
-                                        <para>systemd automatically
-                                        adds dependencies of the types
-                                        Wants and After for all
-                                        SysV service units configured
-                                        for runlevels that are not 0
-                                        to 6 to this target unit.
-                                        This covers the special
-                                        boot-up runlevels some
-                                        distributions have, such as S
-                                        or b.</para>
+                                        <para>Usually this should pull
+                                        in all sockets, mount points,
+                                        swap devices and other basic
+                                        initialization necessary for
+                                        the general purpose
+                                        daemons. Most normal daemon
+                                        should have dependencies of
+                                        type After and Requires on
+                                        this unit.</para>
                                 </listitem>
                         </varlistentry>
                         <varlistentry>
                                         <filename>reboot.target</filename>.</para>
                                 </listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><filename>@SPECIAL_DBUS_SERVICE@</filename></term>
+                                <listitem>
+                                        <para>A special unit for the
+                                        D-Bus system bus. As soon as
+                                        this service is fully started
+                                        up systemd will connect to it
+                                        and register its
+                                        service.</para>
+                                </listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><filename>default.target</filename></term>
                                 <listitem>
                                         kernel command line option.</para>
                                 </listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><filename>display-manager.service</filename></term>
+                                <listitem>
+                                        <para>The display manager
+                                        service. Usually this should
+                                        be aliased (symlinked) to
+                                        <filename>gdm.service</filename>
+                                        or a similar display manager
+                                        service.</para>
+                                        <para>systemd automatically
+                                        adds dependencies of type
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
+                                        <literal>$x-display-manager</literal>
+                                        facility, for compatibility
+                                        with Debian.</para>
+                                </listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><filename>emergency.service</filename></term>
                                 <listitem>
                                         facility.</para>
                                 </listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><filename>mail-transfer-agent.target</filename></term>
+                                <listitem>
+                                        <para>The mail transfer agent
+                                        (MTA) service. Usually this
+                                        should pull in all units
+                                        necessary for
+                                        sending/receiving mails on the
+                                        local host.</para>
+
+                                        <para>systemd automatically
+                                        adds dependencies of type
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
+                                        <literal>$mail-transfer-argent</literal>
+                                        or
+                                        <literal>$mail-transport-agent</literal>
+                                        facilities, for compatibility
+                                        with Debian.</para>
+                                </listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><filename>multi-user.target</filename></term>
                                 <listitem>
                                         all SysV init script service
                                         units with an LSB header
                                         referring to the
-                                        <literal>$remote-fs</literal>
+                                        <literal>$remote_fs</literal>
                                         facility.</para>
                                 </listitem>
                         </varlistentry>
                                         facility.</para>
                                 </listitem>
                         </varlistentry>
-                        <varlistentry>
-                                <term><filename>runlevel0.target</filename></term>
-                                <listitem>
-                                        <para>This is a target that is
-                                        called whever the SysV
-                                        compatibility code asks for
-                                        runlevel 0. This is an alias
-                                        for
-                                        <filename>poweroff.target</filename>,
-                                        for compatibility with
-                                        SysV.</para>
-                                </listitem>
-                        </varlistentry>
-                        <varlistentry>
-                                <term><filename>runlevel1.target</filename></term>
-                                <listitem>
-                                        <para>This is a target that is
-                                        called whever the SysV
-                                        compatibility code asks for
-                                        runlevel 1. This is an alias
-                                        for
-                                        <filename>rescue.target</filename>,
-                                        for compatibility with
-                                        SysV.</para>
-                                </listitem>
-                        </varlistentry>
                         <varlistentry>
                                 <term><filename>runlevel2.target</filename></term>
                                 <listitem>
                                         <filename>graphical.target</filename>.</para>
                                 </listitem>
                         </varlistentry>
-                        <varlistentry>
-                                <term><filename>runlevel6.target</filename></term>
-                                <listitem>
-                                        <para>This is a target that is
-                                        called whever the SysV
-                                        compatibility code asks for
-                                        runlevel 6. This is an alias
-                                        for
-                                        <filename>reboot.target</filename>,
-                                        for compatibility with
-                                        SysV.</para>
-                                </listitem>
-                        </varlistentry>
                         <varlistentry>
                                 <term><filename>shutdown.target</filename></term>
                                 <listitem>
                                         service).</para>
                                 </listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><filename>sysinit.target</filename></term>
+                                <listitem>
+                                        <para>A special target unit
+                                        covering early boot-up scripts.</para>
+                                        <para>systemd automatically
+                                        adds dependencies of the types
+                                        Wants and After for all
+                                        SysV service units configured
+                                        for runlevels that are not 0
+                                        to 6 to this target unit.
+                                        This covers the special
+                                        boot-up runlevels some
+                                        distributions have, such as S
+                                        or b.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>@SPECIAL_SYSLOG_SERVICE@</filename></term>
+                                <listitem>
+                                        <para>A special unit for the
+                                        syslog daemon. As soon as
+                                        this service is fully started
+                                        up systemd will connect to it
+                                        and use it for logging if it
+                                        has been configured for
+                                        that.</para>
+                                        <para>Applications should
+                                        generally not depend on this
+                                        service, and depend on
+                                        <filename>syslog.target</filename>
+                                        instead.</para>
+                                </listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><filename>systemd-initctl.service</filename></term>
                                 <listitem>
                 <filename>shutdown.target</filename>,
                 <filename>sockets.target</filename>,
                 <filename>swap.target</filename>.</para>
+
+                <para>In addition the following special unit is
+                understood only when systemd runs as service instance:</para>
+
+                <variablelist>
+                        <varlistentry>
+                                <term><filename>exit.service</filename></term>
+                                <listitem>
+                                        <para>A special service unit
+                                        for shutting down the
+                                        session.</para>
+
+                                        <para>Applications wanting to
+                                        terminate the session should
+                                        start this unit. If systemd
+                                        receives SIGTERM or SIGINT
+                                        when running as session daemon
+                                        it will start this
+                                        unit.</para>
+
+                                        <para>Normally, this pulls in
+                                        <filename>shutdown.target</filename>
+                                        which in turn should be
+                                        conflicted by all units that
+                                        want to be shut down on
+                                        session exit.</para>
+                                </listitem>
+                        </varlistentry>
+                </variablelist>
         </refsect1>
 
         <refsect1>