- descriptors except stdin, stdout,
- stderr (i.e. the first three file
+ descriptors except standard input, output,
+ and error (i.e. the first three file
descriptors 0, 1, 2). This ensures
that no accidentally passed file
descriptor stays around in the daemon
descriptors 0, 1, 2). This ensures
that no accidentally passed file
descriptor stays around in the daemon
it is verified at the same time that
the PID previously stored in the PID
file no longer exists or belongs to a
it is verified at the same time that
the PID previously stored in the PID
file no longer exists or belongs to a
- foreign process. Commonly, some kind of
- file locking is employed to implement
- this logic.</para></listitem>
+ foreign process.</para></listitem>
<listitem><para>In the daemon process,
drop privileges, if possible and
<listitem><para>In the daemon process,
drop privileges, if possible and
detect service errors and problems. It
is recommended to follow the exit code
scheme as defined in the <ulink
detect service errors and problems. It
is recommended to follow the exit code
scheme as defined in the <ulink
exclusively on boot (and manually by the
administrator) via SysV init scripts, as
detailed in the <ulink
exclusively on boot (and manually by the
administrator) via SysV init scripts, as
detailed in the <ulink
+ <refsect1>
+ <title>Placing Daemon Data</title>
+
+ <para>It is recommended to follow the genreal
+ guidelines for placing package files, as discussed in
+ <citerefentry><refentrytitle>file-hierarchy</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>file-hierarchy</refentrytitle><manvolnum>7</manvolnum></citerefentry>