]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemd.xml
man: add a mapping for external manpages
[thirdparty/systemd.git] / man / systemd.xml
CommitLineData
9e632bf7
LP
1<?xml version='1.0'?> <!--*-nxml-*-->
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5<!--
6 This file is part of systemd.
7
8 Copyright 2010 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
9e632bf7
LP
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5430f7f2 18 Lesser General Public License for more details.
9e632bf7 19
5430f7f2 20 You should have received a copy of the GNU Lesser General Public License
9e632bf7
LP
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22-->
23
dfdebb1b
ZJS
24<refentry id="systemd"
25 xmlns:xi="http://www.w3.org/2001/XInclude">
9e632bf7
LP
26
27 <refentryinfo>
28 <title>systemd</title>
29 <productname>systemd</productname>
30
31 <authorgroup>
32 <author>
33 <contrib>Developer</contrib>
34 <firstname>Lennart</firstname>
35 <surname>Poettering</surname>
36 <email>lennart@poettering.net</email>
37 </author>
38 </authorgroup>
39 </refentryinfo>
40
41 <refmeta>
42 <refentrytitle>systemd</refentrytitle>
160cd5c9 43 <manvolnum>1</manvolnum>
9e632bf7
LP
44 </refmeta>
45
46 <refnamediv>
47 <refname>systemd</refname>
6f6083dc 48 <refname>init</refname>
34511ca7 49 <refpurpose>systemd system and service manager</refpurpose>
9e632bf7
LP
50 </refnamediv>
51
2218198b
LP
52 <refsynopsisdiv>
53 <cmdsynopsis>
160cd5c9 54 <command>systemd <arg choice="opt" rep="repeat">OPTIONS</arg></command>
2218198b
LP
55 </cmdsynopsis>
56 <cmdsynopsis>
160cd5c9 57 <command>init <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg></command>
2218198b
LP
58 </cmdsynopsis>
59 </refsynopsisdiv>
60
9e632bf7
LP
61 <refsect1>
62 <title>Description</title>
63
af2d49f7 64 <para>systemd is a system and service manager for
2218198b 65 Linux operating systems. When run as first process on
af62c704
KS
66 boot (as PID 1), it acts as init system that brings
67 up and maintains userspace services.</para>
2218198b 68
af62c704 69 <para>For compatibility with SysV, if systemd is called
2218198b 70 as <command>init</command> and a PID that is not
af62c704 71 1, it will execute <command>telinit</command> and pass
2218198b
LP
72 all command line arguments unmodified. That means
73 <command>init</command> and <command>telinit</command>
74 are mostly equivalent when invoked from normal login sessions. See
75 <citerefentry><refentrytitle>telinit</refentrytitle><manvolnum>8</manvolnum></citerefentry>
76 for more information.</para>
f3e219a2
LP
77
78 <para>When run as system instance, systemd interprets
79 the configuration file
80 <filename>system.conf</filename>, otherwise
af2d49f7 81 <filename>user.conf</filename>. See
5f9cfd4c 82 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
f3e219a2 83 for more information.</para>
2218198b
LP
84 </refsect1>
85
86 <refsect1>
87 <title>Options</title>
88
89 <para>The following options are understood:</para>
90
91 <variablelist>
f3e219a2
LP
92 <varlistentry>
93 <term><option>--test</option></term>
94
95 <listitem><para>Determine startup
96 sequence, dump it and exit. This is an
97 option useful for debugging
98 only.</para></listitem>
99 </varlistentry>
100 <varlistentry>
101 <term><option>--dump-configuration-items</option></term>
102
103 <listitem><para>Dump understood unit
104 configuration items. This outputs a
105 terse but complete list of
106 configuration items understood in unit
107 definition files.</para></listitem>
108 </varlistentry>
2218198b
LP
109 <varlistentry>
110 <term><option>--unit=</option></term>
111
112 <listitem><para>Set default unit to
79640424 113 activate on startup. If not specified,
2218198b
LP
114 defaults to
115 <filename>default.target</filename>.</para></listitem>
116 </varlistentry>
117 <varlistentry>
edb9aaa8 118 <term><option>--system</option></term>
af2d49f7 119 <term><option>--user</option></term>
edb9aaa8 120
16dad32e
AE
121 <listitem><para>For <option>--system</option>,
122 tell systemd to run a
123 system instance, even if the process ID is
124 not 1, i.e. systemd is not run as init process.
125 <option>--user</option> does the opposite,
126 running a user instance even if the process
127 ID is 1.
edb9aaa8
LP
128 Normally it should not be necessary to
129 pass these options, as systemd
130 automatically detects the mode it is
131 started in. These options are hence of
248e6030
LP
132 little use except for debugging. Note
133 that it is not supported booting and
134 maintaining a full system with systemd
135 running in <option>--system</option>
136 mode, but PID not 1. In practice,
137 passing <option>--system</option> explicitly is
138 only useful in conjunction with
139 <option>--test</option>.</para></listitem>
2218198b
LP
140 </varlistentry>
141 <varlistentry>
f3e219a2 142 <term><option>--dump-core</option></term>
2218198b 143
af2d49f7
LP
144 <listitem><para>Dump core on
145 crash. This switch has no effect when
146 run as user
147 instance.</para></listitem>
2218198b
LP
148 </varlistentry>
149 <varlistentry>
f3e219a2 150 <term><option>--crash-shell</option></term>
2218198b 151
af2d49f7
LP
152 <listitem><para>Run shell on
153 crash. This switch has no effect when
154 run as user
155 instance.</para></listitem>
2218198b
LP
156 </varlistentry>
157 <varlistentry>
158 <term><option>--confirm-spawn</option></term>
159
af2d49f7
LP
160 <listitem><para>Ask for confirmation
161 when spawning processes. This switch
162 has no effect when run as user
163 instance.</para></listitem>
2218198b
LP
164 </varlistentry>
165 <varlistentry>
69dd2852
LP
166 <term><option>--show-status=</option></term>
167
168 <listitem><para>Show terse service
169 status information while booting. This
af2d49f7
LP
170 switch has no effect when run as user
171 instance. Takes a boolean argument
172 which may be omitted which is
173 interpreted as
69dd2852
LP
174 <option>true</option>.</para></listitem>
175 </varlistentry>
f3e219a2
LP
176 <varlistentry>
177 <term><option>--log-target=</option></term>
178
179 <listitem><para>Set log
180 target. Argument must be one of
181 <option>console</option>,
4cfa2c99 182 <option>journal</option>,
f3e219a2
LP
183 <option>syslog</option>,
184 <option>kmsg</option>,
4cfa2c99 185 <option>journal-or-kmsg</option>,
f3e219a2
LP
186 <option>syslog-or-kmsg</option>,
187 <option>null</option>.</para></listitem>
2218198b
LP
188 </varlistentry>
189 <varlistentry>
190 <term><option>--log-level=</option></term>
191
192 <listitem><para>Set log level. As
193 argument this accepts a numerical log
5aded369 194 level or the well-known <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
2218198b
LP
195 symbolic names (lowercase):
196 <option>emerg</option>,
197 <option>alert</option>,
198 <option>crit</option>,
199 <option>err</option>,
200 <option>warning</option>,
201 <option>notice</option>,
202 <option>info</option>,
203 <option>debug</option>.</para></listitem>
204 </varlistentry>
2218198b
LP
205 <varlistentry>
206 <term><option>--log-color=</option></term>
207
208 <listitem><para>Highlight important
209 log messages. Argument is a boolean
79640424 210 value. If the argument is omitted, it
2218198b
LP
211 defaults to
212 <option>true</option>.</para></listitem>
213 </varlistentry>
214 <varlistentry>
215 <term><option>--log-location=</option></term>
216
217 <listitem><para>Include code location
218 in log messages. This is mostly
219 relevant for debugging
220 purposes. Argument is a boolean
221 value. If the argument is omitted
222 it defaults to
223 <option>true</option>.</para></listitem>
224 </varlistentry>
0a494f1f
LP
225 <varlistentry>
226 <term><option>--default-standard-output=</option></term>
227 <term><option>--default-standard-error=</option></term>
228
229 <listitem><para>Sets the default
16dad32e
AE
230 output or error output for all
231 services and sockets, respectively. That is, controls
0a494f1f
LP
232 the default for
233 <option>StandardOutput=</option>
16dad32e 234 and <option>StandardError=</option>
0a494f1f
LP
235 (see
236 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
237 for details). Takes one of
238 <option>inherit</option>,
239 <option>null</option>,
240 <option>tty</option>,
4cfa2c99
LP
241 <option>journal</option>,
242 <option>journal+console</option>,
0a494f1f
LP
243 <option>syslog</option>,
244 <option>syslog+console</option>,
245 <option>kmsg</option>,
756a8d17 246 <option>kmsg+console</option>. If the
de6c78f8
LP
247 argument is omitted
248 <option>--default-standard-output=</option>
4cfa2c99 249 defaults to <option>journal</option>
de6c78f8
LP
250 and
251 <option>--default-standard-error=</option>
252 to
934da035 253 <option>inherit</option>.</para></listitem>
0a494f1f 254 </varlistentry>
dfdebb1b
ZJS
255
256 <xi:include href="standard-options.xml" xpointer="help" />
257 <xi:include href="standard-options.xml" xpointer="version" />
2218198b
LP
258 </variablelist>
259 </refsect1>
260
99ffae46
LP
261 <refsect1>
262 <title>Concepts</title>
263
264 <para>systemd provides a dependency system between
1ec96668
LP
265 various entities called "units" of 12 different
266 types. Units encapsulate various objects that are
267 relevant for system boot-up and maintenance. The
268 majority of units are configured in unit configuration
269 files, whose syntax and basic set of options is
270 described in
99ffae46
LP
271 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
272 however some are created automatically from other
1ec96668 273 configuration, dynamically from system state or
fbce1139
JE
274 programmatically at runtime. Units may be "active"
275 (meaning started, bound, plugged in, ..., depending on
276 the unit type, see below), or "inactive" (meaning
1ec96668
LP
277 stopped, unbound, unplugged, ...), as well as in the
278 process of being activated or deactivated,
279 i.e. between the two states (these states are called
fbce1139
JE
280 "activating", "deactivating"). A special "failed"
281 state is available as well, which is very similar to
282 "inactive" and is entered when the service failed in
1ec96668
LP
283 some way (process returned error code on exit, or
284 crashed, or an operation timed out). If this state is
fbce1139 285 entered, the cause will be logged, for later
b9975629
LP
286 reference. Note that the various unit types may have a
287 number of additional substates, which are mapped to
288 the five generalized unit states described
289 here.</para>
290
291 <para>The following unit types are available:</para>
99ffae46
LP
292
293 <orderedlist>
1ec96668 294 <listitem><para>Service units, which start and control
99ffae46
LP
295 daemons and the processes they consist of. For
296 details see
297 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
298
299 <listitem><para>Socket units, which
300 encapsulate local IPC or network sockets in
301 the system, useful for socket-based
302 activation. For details about socket units see
303 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
304 for details on socket-based activation and
305 other forms of activation, see
306 <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para></listitem>
307
308 <listitem><para>Target units are useful to
309 group units, or provide well-known
310 synchronization points during boot-up, see
311 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
312
313 <listitem><para>Device units expose kernel
314 devices in systemd and may be used to
315 implement device-based activation. For details
316 see
317 <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
318
319 <listitem><para>Mount units control mount
320 points in the file system, for details see
321 <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
322
323 <listitem><para>Automount units provide
324 automount capabilities, for on-demand mounting
325 of file systems as well as parallelized
326 boot-up. See
327 <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
328
329 <listitem><para>Snapshot units can be used to
330 temporarily save the state of the set of
331 systemd units, which later may be restored by
332 activating the saved snapshot unit. For more
333 information see
7461d1b7 334 <citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
99ffae46
LP
335
336 <listitem><para>Timer units are useful for
337 triggering activation of other units based on
338 timers. You may find details in
339 <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
340
341 <listitem><para>Swap units are very similar to
f8553ccb 342 mount units and encapsulate memory swap
99ffae46 343 partitions or files of the operating
f8553ccb 344 system. They are described in <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
99ffae46
LP
345
346 <listitem><para>Path units may be used
dccb2600 347 to activate other services when file system
99ffae46
LP
348 objects change or are modified. See
349 <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
350
1ec96668
LP
351 <listitem><para>Slice units may be used to
352 group units which manage system processes
353 (such as service and scope units) in a
5eec7de6 354 hierarchical tree for resource management
1ec96668
LP
355 purposes. See
356 <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
357
358 <listitem><para>Scope units are similar to
359 service units, but manage foreign processes
360 instead of starting them as well. See
361 <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
362
99ffae46
LP
363 </orderedlist>
364
365 <para>Units are named as their configuration
366 files. Some units have special semantics. A detailed
f8553ccb 367 list is available in
99ffae46
LP
368 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
369
b9975629
LP
370 <para>systemd knows various kinds of dependencies,
371 including positive and negative requirement
372 dependencies (i.e. <varname>Requires=</varname> and
373 <varname>Conflicts=</varname>) as well as ordering
374 dependencies (<varname>After=</varname> and
375 <varname>Before=</varname>). NB: ordering and
376 requirement dependencies are orthogonal. If only a
377 requirement dependency exists between two units
378 (e.g. <filename>foo.service</filename> requires
379 <filename>bar.service</filename>), but no ordering
380 dependency (e.g. <filename>foo.service</filename>
381 after <filename>bar.service</filename>) and both are
382 requested to start, they will be started in
383 parallel. It is a common pattern that both requirement
384 and ordering dependencies are placed between two
385 units. Also note that the majority of dependencies are
386 implicitly created and maintained by systemd. In most
73e231ab 387 cases, it should be unnecessary to declare additional
b9975629
LP
388 dependencies manually, however it is possible to do
389 this.</para>
390
391 <para>Application programs and units (via
f8553ccb 392 dependencies) may request state changes of units. In
b9975629
LP
393 systemd, these requests are encapsulated as 'jobs' and
394 maintained in a job queue. Jobs may succeed or can
395 fail, their execution is ordered based on the ordering
396 dependencies of the units they have been scheduled
397 for.</para>
398
99ffae46 399 <para>On boot systemd activates the target unit
dccb2600 400 <filename>default.target</filename> whose job is to
99ffae46
LP
401 activate on-boot services and other on-boot units by
402 pulling them in via dependencies. Usually the unit
403 name is just an alias (symlink) for either
404 <filename>graphical.target</filename> (for
405 fully-featured boots into the UI) or
406 <filename>multi-user.target</filename> (for limited
407 console-only boots for use in embedded or server
408 environments, or similar; a subset of
79640424 409 graphical.target). However, it is at the discretion of
99ffae46
LP
410 the administrator to configure it as an alias to any
411 other target unit. See
412 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
413 for details about these target units.</para>
414
dccb2600 415 <para>Processes systemd spawns are placed in
59a3e1bc
LP
416 individual Linux control groups named after the unit
417 which they belong to in the private systemd
418 hierarchy. (see <ulink
6ed80a4e 419 url="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>
59a3e1bc
LP
420 for more information about control groups, or short
421 "cgroups"). systemd uses this to effectively keep
422 track of processes. Control group information is
423 maintained in the kernel, and is accessible via the
424 file system hierarchy (beneath
77d5f105 425 <filename>/sys/fs/cgroup/systemd/</filename>), or in tools
59a3e1bc 426 such as
5aded369 427 <citerefentry project='man-pages'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>
59a3e1bc
LP
428 (<command>ps xawf -eo pid,user,cgroup,args</command>
429 is particularly useful to list all processes and the
430 systemd units they belong to.).</para>
431
432 <para>systemd is compatible with the SysV init system
433 to a large degree: SysV init scripts are supported and
434 simply read as an alternative (though limited)
435 configuration file format. The SysV
436 <filename>/dev/initctl</filename> interface is
dccb2600
437 provided, and compatibility implementations of the
438 various SysV client tools are available. In addition to
439 that, various established Unix functionality such as
59a3e1bc
LP
440 <filename>/etc/fstab</filename> or the
441 <filename>utmp</filename> database are
442 supported.</para>
443
444 <para>systemd has a minimal transaction system: if a
445 unit is requested to start up or shut down it will add
446 it and all its dependencies to a temporary
447 transaction. Then, it will verify if the transaction
448 is consistent (i.e. whether the ordering of all units
449 is cycle-free). If it is not, systemd will try to fix
450 it up, and removes non-essential jobs from the
451 transaction that might remove the loop. Also, systemd
452 tries to suppress non-essential jobs in the
453 transaction that would stop a running service. Finally
454 it is checked whether the jobs of the transaction
455 contradict jobs that have already been queued, and
456 optionally the transaction is aborted then. If all
457 worked out and the transaction is consistent and
458 minimized in its impact it is merged with all already
459 outstanding jobs and added to the run
460 queue. Effectively this means that before executing a
461 requested operation, systemd will verify that it makes
462 sense, fixing it if possible, and only failing if it
463 really cannot work.</para>
464
465 <para>Systemd contains native implementations of
466 various tasks that need to be executed as part of the
e9dd9f95 467 boot process. For example, it sets the hostname or
59a3e1bc
LP
468 configures the loopback network device. It also sets
469 up and mounts various API file systems, such as
470 <filename>/sys</filename> or
471 <filename>/proc</filename>.</para>
472
99ffae46 473 <para>For more information about the concepts and
b040723e 474 ideas behind systemd, please refer to the <ulink
99ffae46 475 url="http://0pointer.de/blog/projects/systemd.html">Original
59a3e1bc 476 Design Document</ulink>.</para>
b9aea954
LP
477
478 <para>Note that some but not all interfaces provided
479 by systemd are covered by the <ulink
480 url="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface
481 Stability Promise</ulink>.</para>
059b37cc
LP
482
483 <para>Units may be generated dynamically at boot and
484 system manager reload time, for example based on other
485 configuration files or parameters passed on the kernel
486 command line. For details see the <ulink
487 url="http://www.freedesktop.org/wiki/Software/systemd/Generators">Generators
488 Specification</ulink>.</para>
99800333
LP
489
490 <para>Systems which invoke systemd in a container
16dad32e 491 or initrd environment should implement the
99800333
LP
492 <ulink
493 url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container
16dad32e 494 Interface</ulink> or <ulink
99800333 495 url="http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface">initrd
16dad32e 496 Interface</ulink> specifications, respectively.</para>
99ffae46
LP
497 </refsect1>
498
160cd5c9
LP
499 <refsect1>
500 <title>Directories</title>
7874bcd6 501
19adb8a3 502 <variablelist>
7874bcd6
LP
503 <varlistentry>
504 <term>System unit directories</term>
505
506 <listitem><para>The systemd system
507 manager reads unit configuration from
508 various directories. Packages that
509 want to install unit files shall place
510 them in the directory returned by
511 <command>pkg-config systemd
512 --variable=systemdsystemunitdir</command>. Other
513 directories checked are
d636fa3d 514 <filename>/usr/local/lib/systemd/system</filename>
7874bcd6 515 and
d636fa3d 516 <filename>/usr/lib/systemd/system</filename>. User
7874bcd6
LP
517 configuration always takes
518 precedence. <command>pkg-config
519 systemd
520 --variable=systemdsystemconfdir</command>
521 returns the path of the system
522 configuration directory. Packages
ee5762e3
LP
523 should alter the content of these
524 directories only with the
525 <command>enable</command> and
526 <command>disable</command> commands of
527 the
528 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
13219b7f
ZJS
529 tool. Full list of directories is provided in
530 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
531 </para></listitem>
7874bcd6
LP
532 </varlistentry>
533 </variablelist>
534
535 <variablelist>
536 <varlistentry>
af2d49f7 537 <term>User unit directories</term>
7874bcd6
LP
538
539 <listitem><para>Similar rules apply
af2d49f7 540 for the user unit
7874bcd6
LP
541 directories. However, here the <ulink
542 url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
543 Base Directory specification</ulink>
544 is followed to find
545 units. Applications should place their
546 unit files in the directory returned
547 by <command>pkg-config systemd
af2d49f7 548 --variable=systemduserunitdir</command>. Global
ee5762e3
LP
549 configuration is done in the directory
550 reported by <command>pkg-config
551 systemd
af2d49f7 552 --variable=systemduserconfdir</command>. The
ee5762e3
LP
553 <command>enable</command> and
554 <command>disable</command> commands of
555 the
556 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
7874bcd6
LP
557 tool can handle both global (i.e. for
558 all users) and private (for one user)
559 enabling/disabling of
13219b7f
ZJS
560 units. Full list of directories is provided in
561 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
562 </para></listitem>
7874bcd6
LP
563 </varlistentry>
564 </variablelist>
565
566 <variablelist>
567 <varlistentry>
568 <term>SysV init scripts directory</term>
569
570 <listitem><para>The location of the
571 SysV init script directory varies
572 between distributions. If systemd
573 cannot find a native unit file for a
af62c704 574 requested service, it will look for a
7874bcd6
LP
575 SysV init script of the same name
576 (with the
577 <filename>.service</filename> suffix
578 removed).</para></listitem>
579 </varlistentry>
580 </variablelist>
581
582 <variablelist>
583 <varlistentry>
584 <term>SysV runlevel link farm directory</term>
585
586 <listitem><para>The location of the
587 SysV runlevel link farm directory
588 varies between distributions. systemd
589 will take the link farm into account
590 when figuring out whether a service
591 shall be enabled. Note that a service
592 unit with a native unit configuration
edb9aaa8 593 file cannot be started by activating it
7874bcd6
LP
594 in the SysV runlevel link
595 farm.</para></listitem>
596 </varlistentry>
597 </variablelist>
160cd5c9
LP
598 </refsect1>
599
600 <refsect1>
7874bcd6 601 <title>Signals</title>
160cd5c9
LP
602
603 <variablelist>
604 <varlistentry>
74d00578 605 <term><constant>SIGTERM</constant></term>
7874bcd6
LP
606
607 <listitem><para>Upon receiving this
608 signal the systemd system manager
609 serializes its state, reexecutes
610 itself and deserializes the saved
611 state again. This is mostly equivalent
612 to <command>systemctl
613 daemon-reexec</command>.</para>
614
af2d49f7 615 <para>systemd user managers will
7874bcd6
LP
616 start the
617 <filename>exit.target</filename> unit
618 when this signal is received. This is
619 mostly equivalent to
af2d49f7 620 <command>systemctl --user start
7874bcd6
LP
621 exit.target</command>.</para></listitem>
622 </varlistentry>
623
624 <varlistentry>
74d00578 625 <term><constant>SIGINT</constant></term>
7874bcd6
LP
626
627 <listitem><para>Upon receiving this
628 signal the systemd system manager will
629 start the
630 <filename>ctrl-alt-del.target</filename> unit. This
631 is mostly equivalent to
632 <command>systemctl start
633 ctl-alt-del.target</command>.</para>
634
af2d49f7 635 <para>systemd user managers
7874bcd6 636 treat this signal the same way as
05cc7267 637 <constant>SIGTERM</constant>.</para></listitem>
7874bcd6
LP
638 </varlistentry>
639
640 <varlistentry>
74d00578 641 <term><constant>SIGWINCH</constant></term>
7874bcd6
LP
642
643 <listitem><para>When this signal is
644 received the systemd system manager
645 will start the
646 <filename>kbrequest.target</filename>
647 unit. This is mostly equivalent to
648 <command>systemctl start
649 kbrequest.target</command>.</para>
650
651 <para>This signal is ignored by
af2d49f7 652 systemd user
7874bcd6
LP
653 managers.</para></listitem>
654 </varlistentry>
655
656 <varlistentry>
74d00578 657 <term><constant>SIGPWR</constant></term>
7874bcd6
LP
658
659 <listitem><para>When this signal is
660 received the systemd manager
661 will start the
662 <filename>sigpwr.target</filename>
663 unit. This is mostly equivalent to
664 <command>systemctl start
665 sigpwr.target</command>.</para></listitem>
666 </varlistentry>
667
668 <varlistentry>
74d00578 669 <term><constant>SIGUSR1</constant></term>
7874bcd6
LP
670
671 <listitem><para>When this signal is
672 received the systemd manager will try
673 to reconnect to the D-Bus
674 bus.</para></listitem>
675 </varlistentry>
676
677 <varlistentry>
74d00578 678 <term><constant>SIGUSR2</constant></term>
7874bcd6
LP
679
680 <listitem><para>When this signal is
681 received the systemd manager will log
682 its complete state in human readable
683 form. The data logged is the same as
684 printed by <command>systemctl
685 dump</command>.</para></listitem>
686 </varlistentry>
687
688 <varlistentry>
74d00578 689 <term><constant>SIGHUP</constant></term>
7874bcd6
LP
690
691 <listitem><para>Reloads the complete
692 daemon configuration. This is mostly
693 equivalent to <command>systemctl
694 daemon-reload</command>.</para></listitem>
695 </varlistentry>
696
697 <varlistentry>
74d00578 698 <term><constant>SIGRTMIN+0</constant></term>
7874bcd6
LP
699
700 <listitem><para>Enters default mode, starts the
701 <filename>default.target</filename>
702 unit. This is mostly equivalent to
703 <command>systemctl start
704 default.target</command>.</para></listitem>
705 </varlistentry>
706
707 <varlistentry>
74d00578 708 <term><constant>SIGRTMIN+1</constant></term>
7874bcd6
LP
709
710 <listitem><para>Enters rescue mode,
711 starts the
712 <filename>rescue.target</filename>
713 unit. This is mostly equivalent to
714 <command>systemctl isolate
715 rescue.target</command>.</para></listitem>
716 </varlistentry>
160cd5c9 717
7874bcd6 718 <varlistentry>
74d00578 719 <term><constant>SIGRTMIN+2</constant></term>
7874bcd6
LP
720
721 <listitem><para>Enters emergency mode,
722 starts the
723 <filename>emergency.service</filename>
724 unit. This is mostly equivalent to
725 <command>systemctl isolate
726 emergency.service</command>.</para></listitem>
727 </varlistentry>
728
729 <varlistentry>
74d00578 730 <term><constant>SIGRTMIN+3</constant></term>
7874bcd6
LP
731
732 <listitem><para>Halts the machine,
733 starts the
734 <filename>halt.target</filename>
735 unit. This is mostly equivalent to
736 <command>systemctl start
737 halt.target</command>.</para></listitem>
738 </varlistentry>
739
740 <varlistentry>
74d00578 741 <term><constant>SIGRTMIN+4</constant></term>
7874bcd6
LP
742
743 <listitem><para>Powers off the machine,
744 starts the
745 <filename>poweroff.target</filename>
746 unit. This is mostly equivalent to
747 <command>systemctl start
748 poweroff.target</command>.</para></listitem>
749 </varlistentry>
750
751 <varlistentry>
74d00578 752 <term><constant>SIGRTMIN+5</constant></term>
7874bcd6
LP
753
754 <listitem><para>Reboots the machine,
755 starts the
756 <filename>reboot.target</filename>
757 unit. This is mostly equivalent to
758 <command>systemctl start
759 reboot.target</command>.</para></listitem>
160cd5c9 760 </varlistentry>
0658666b
LP
761
762 <varlistentry>
74d00578 763 <term><constant>SIGRTMIN+6</constant></term>
0658666b
LP
764
765 <listitem><para>Reboots the machine via kexec,
766 starts the
767 <filename>kexec.target</filename>
768 unit. This is mostly equivalent to
769 <command>systemctl start
770 kexec.target</command>.</para></listitem>
771 </varlistentry>
772
773 <varlistentry>
74d00578 774 <term><constant>SIGRTMIN+13</constant></term>
0658666b
LP
775
776 <listitem><para>Immediately halts the machine.</para></listitem>
777 </varlistentry>
778
779 <varlistentry>
74d00578 780 <term><constant>SIGRTMIN+14</constant></term>
0658666b
LP
781
782 <listitem><para>Immediately powers off the machine.</para></listitem>
783 </varlistentry>
784
785 <varlistentry>
74d00578 786 <term><constant>SIGRTMIN+15</constant></term>
0658666b
LP
787
788 <listitem><para>Immediately reboots the machine.</para></listitem>
789 </varlistentry>
790
791 <varlistentry>
74d00578 792 <term><constant>SIGRTMIN+16</constant></term>
0658666b
LP
793
794 <listitem><para>Immediately reboots the machine with kexec.</para></listitem>
795 </varlistentry>
796
797 <varlistentry>
74d00578 798 <term><constant>SIGRTMIN+20</constant></term>
0658666b
LP
799
800 <listitem><para>Enables display of
801 status messages on the console, as
802 controlled via
803 <varname>systemd.show_status=1</varname>
804 on the kernel command
805 line.</para></listitem>
806 </varlistentry>
807
808 <varlistentry>
74d00578 809 <term><constant>SIGRTMIN+21</constant></term>
0658666b
LP
810
811 <listitem><para>Disables display of
812 status messages on the console, as
813 controlled via
814 <varname>systemd.show_status=0</varname>
815 on the kernel command
816 line.</para></listitem>
817 </varlistentry>
253ee27a
LP
818
819 <varlistentry>
74d00578
ZJS
820 <term><constant>SIGRTMIN+22</constant></term>
821 <term><constant>SIGRTMIN+23</constant></term>
253ee27a
LP
822
823 <listitem><para>Sets the log level to
824 <literal>debug</literal>
16dad32e 825 (or <literal>info</literal> on
74d00578 826 <constant>SIGRTMIN+23</constant>), as
253ee27a
LP
827 controlled via
828 <varname>systemd.log_level=debug</varname>
16dad32e 829 (or <varname>systemd.log_level=info</varname>
74d00578 830 on <constant>SIGRTMIN+23</constant>) on
253ee27a
LP
831 the kernel command
832 line.</para></listitem>
833 </varlistentry>
834
600b704e 835 <varlistentry>
74d00578 836 <term><constant>SIGRTMIN+24</constant></term>
600b704e
LP
837
838 <listitem><para>Immediately exits the
839 manager (only available for --user
840 instances).</para></listitem>
841 </varlistentry>
842
253ee27a 843 <varlistentry>
74d00578
ZJS
844 <term><constant>SIGRTMIN+26</constant></term>
845 <term><constant>SIGRTMIN+27</constant></term>
846 <term><constant>SIGRTMIN+28</constant></term>
847 <term><constant>SIGRTMIN+29</constant></term>
253ee27a
LP
848
849 <listitem><para>Sets the log level to
4cfa2c99 850 <literal>journal-or-kmsg</literal>
16dad32e 851 (or <literal>console</literal> on
74d00578 852 <constant>SIGRTMIN+27</constant>,
16dad32e 853 <literal>kmsg</literal> on
74d00578 854 <constant>SIGRTMIN+28</constant>,
16dad32e 855 or <literal>syslog-or-kmsg</literal>
74d00578 856 on <constant>SIGRTMIN+29</constant>), as
253ee27a 857 controlled via
4cfa2c99 858 <varname>systemd.log_target=journal-or-kmsg</varname>
16dad32e 859 (or <varname>systemd.log_target=console</varname>
74d00578 860 on <constant>SIGRTMIN+27</constant>,
16dad32e 861 <varname>systemd.log_target=kmsg</varname>
74d00578 862 on <constant>SIGRTMIN+28</constant>,
16dad32e 863 or
253ee27a 864 <varname>systemd.log_target=syslog-or-kmsg</varname>
74d00578 865 on <constant>SIGRTMIN+29</constant>) on
253ee27a
LP
866 the kernel command
867 line.</para></listitem>
868 </varlistentry>
160cd5c9
LP
869 </variablelist>
870 </refsect1>
871
7874bcd6
LP
872 <refsect1>
873 <title>Environment</title>
874
08177c85 875 <variablelist class='environment-variables'>
7874bcd6
LP
876 <varlistentry>
877 <term><varname>$SYSTEMD_LOG_LEVEL</varname></term>
878 <listitem><para>systemd reads the
879 log level from this environment
436c44a5 880 variable. This can be overridden with
7874bcd6
LP
881 <option>--log-level=</option>.</para></listitem>
882 </varlistentry>
883
884 <varlistentry>
885 <term><varname>$SYSTEMD_LOG_TARGET</varname></term>
886 <listitem><para>systemd reads the
887 log target from this environment
436c44a5 888 variable. This can be overridden with
7874bcd6
LP
889 <option>--log-target=</option>.</para></listitem>
890 </varlistentry>
891
892 <varlistentry>
893 <term><varname>$SYSTEMD_LOG_COLOR</varname></term>
894 <listitem><para>Controls whether
895 systemd highlights important log
436c44a5 896 messages. This can be overridden with
7874bcd6
LP
897 <option>--log-color=</option>.</para></listitem>
898 </varlistentry>
899
900 <varlistentry>
901 <term><varname>$SYSTEMD_LOG_LOCATION</varname></term>
902 <listitem><para>Controls whether
903 systemd prints the code location along
904 with log messages. This can be
436c44a5 905 overridden with
7874bcd6
LP
906 <option>--log-location=</option>.</para></listitem>
907 </varlistentry>
908
909 <varlistentry>
910 <term><varname>$XDG_CONFIG_HOME</varname></term>
911 <term><varname>$XDG_CONFIG_DIRS</varname></term>
912 <term><varname>$XDG_DATA_HOME</varname></term>
913 <term><varname>$XDG_DATA_DIRS</varname></term>
914
af2d49f7 915 <listitem><para>The systemd user
7874bcd6
LP
916 manager uses these variables in
917 accordance to the <ulink
918 url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
919 Base Directory specification</ulink>
920 to find its configuration.</para></listitem>
921 </varlistentry>
922
923 <varlistentry>
924 <term><varname>$SYSTEMD_UNIT_PATH</varname></term>
925
926 <listitem><para>Controls where systemd
927 looks for unit
928 files.</para></listitem>
929 </varlistentry>
930
931 <varlistentry>
932 <term><varname>$SYSTEMD_SYSVINIT_PATH</varname></term>
933
934 <listitem><para>Controls where systemd
935 looks for SysV init scripts.</para></listitem>
936 </varlistentry>
937
938 <varlistentry>
939 <term><varname>$SYSTEMD_SYSVRCND_PATH</varname></term>
940
941 <listitem><para>Controls where systemd
942 looks for SysV init script runlevel link
943 farms.</para></listitem>
944 </varlistentry>
945
946 <varlistentry>
947 <term><varname>$LISTEN_PID</varname></term>
948 <term><varname>$LISTEN_FDS</varname></term>
949
950 <listitem><para>Set by systemd for
951 supervised processes during
952 socket-based activation. See
953 <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>
954 for more information.
955 </para></listitem>
956 </varlistentry>
957
958 <varlistentry>
959 <term><varname>$NOTIFY_SOCKET</varname></term>
960
961 <listitem><para>Set by systemd for
962 supervised processes for status and
963 start-up completion notification. See
964 <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>
965 for more information.
966 </para></listitem>
967 </varlistentry>
968 </variablelist>
969 </refsect1>
160cd5c9 970
f3e219a2
LP
971 <refsect1>
972 <title>Kernel Command Line</title>
973
45dc3a04
LP
974 <para>When run as system instance systemd parses a
975 number of kernel command line
976 arguments<footnote><para>If run inside a Linux
977 container these arguments may be passed as command
978 line arguments to systemd itself, next to any of the
979 command line options listed in the Options section
980 above. If run outside of Linux containers, these
981 arguments are parsed from
982 <filename>/proc/cmdline</filename>
983 instead.</para></footnote>:</para>
f3e219a2 984
ccc9a4f9 985 <variablelist class='kernel-commandline-options'>
f3e219a2
LP
986 <varlistentry>
987 <term><varname>systemd.unit=</varname></term>
c66e7bc7 988 <term><varname>rd.systemd.unit=</varname></term>
f3e219a2
LP
989
990 <listitem><para>Overrides the unit to
991 activate on boot. Defaults to
992 <filename>default.target</filename>. This
993 may be used to temporarily boot into a
994 different boot unit, for example
995 <filename>rescue.target</filename> or
996 <filename>emergency.service</filename>. See
997 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
c66e7bc7
LP
998 for details about these units. The
999 option prefixed with
bb31a4ac 1000 <literal>rd.</literal> is honored
c66e7bc7 1001 only in the initial RAM disk (initrd),
6b4991cf 1002 while the one that is not prefixed only
c66e7bc7 1003 in the main system.</para></listitem>
f3e219a2
LP
1004 </varlistentry>
1005
f3e219a2
LP
1006 <varlistentry>
1007 <term><varname>systemd.dump_core=</varname></term>
1008
1009 <listitem><para>Takes a boolean
79640424 1010 argument. If <option>true</option>,
f3e219a2 1011 systemd dumps core when it
79640424 1012 crashes. Otherwise, no core dump is
f3e219a2
LP
1013 created. Defaults to
1014 <option>true</option>.</para></listitem>
1015 </varlistentry>
1016
1017 <varlistentry>
1018 <term><varname>systemd.crash_shell=</varname></term>
1019
1020 <listitem><para>Takes a boolean
79640424 1021 argument. If <option>true</option>,
f3e219a2 1022 systemd spawns a shell when it
79640424 1023 crashes. Otherwise, no shell is
f8553ccb 1024 spawned. Defaults to
f3e219a2
LP
1025 <option>false</option>, for security
1026 reasons, as the shell is not protected
1027 by any password
1028 authentication.</para></listitem>
1029 </varlistentry>
1030
1031 <varlistentry>
1032 <term><varname>systemd.crash_chvt=</varname></term>
1033
1034 <listitem><para>Takes an integer
1035 argument. If positive systemd
1036 activates the specified virtual
1037 terminal when it crashes. Defaults to
74d00578 1038 <constant>-1</constant>.</para></listitem>
f3e219a2
LP
1039 </varlistentry>
1040
69dd2852
LP
1041 <varlistentry>
1042 <term><varname>systemd.confirm_spawn=</varname></term>
1043
1044 <listitem><para>Takes a boolean
79640424 1045 argument. If <option>true</option>,
69dd2852
LP
1046 asks for confirmation when spawning
1047 processes. Defaults to
1048 <option>false</option>.</para></listitem>
1049 </varlistentry>
1050
f3e219a2
LP
1051 <varlistentry>
1052 <term><varname>systemd.show_status=</varname></term>
1053
1054 <listitem><para>Takes a boolean
d450b6f2
ZJS
1055 argument or the constant
1056 <constant>auto</constant>. If
1057 <option>true</option>, shows terse
1058 service status updates on the console
1059 during bootup.
1060 <constant>auto</constant> behaves like
1061 <option>false</option> until a service
1062 fails or there is a significant delay
1063 in boot. Defaults to
c66e7bc7
LP
1064 <option>true</option>, unless
1065 <option>quiet</option> is passed as
1066 kernel command line option in which
1067 case it defaults to
d450b6f2 1068 <constant>auto</constant>.</para></listitem>
f3e219a2
LP
1069 </varlistentry>
1070
69dd2852
LP
1071 <varlistentry>
1072 <term><varname>systemd.log_target=</varname></term>
1073 <term><varname>systemd.log_level=</varname></term>
1074 <term><varname>systemd.log_color=</varname></term>
1075 <term><varname>systemd.log_location=</varname></term>
1076
1077 <listitem><para>Controls log output,
1078 with the same effect as the
1079 <varname>$SYSTEMD_LOG_TARGET</varname>, <varname>$SYSTEMD_LOG_LEVEL</varname>, <varname>$SYSTEMD_LOG_COLOR</varname>, <varname>$SYSTEMD_LOG_LOCATION</varname>
1080 environment variables described above.</para></listitem>
1081 </varlistentry>
1082
0a494f1f
LP
1083 <varlistentry>
1084 <term><varname>systemd.default_standard_output=</varname></term>
1085 <term><varname>systemd.default_standard_error=</varname></term>
1086 <listitem><para>Controls default
16dad32e 1087 standard output and error output for
0a494f1f
LP
1088 services, with the same effect as the
1089 <option>--default-standard-output=</option>
16dad32e 1090 and <option>--default-standard-error=</option>
0a494f1f 1091 command line arguments described
16dad32e 1092 above, respectively.</para></listitem>
0a494f1f
LP
1093 </varlistentry>
1094
aa704ba8
LP
1095 <varlistentry>
1096 <term><varname>systemd.setenv=</varname></term>
1097
1098 <listitem><para>Takes a string
e21fea24
KS
1099 argument in the form VARIABLE=VALUE.
1100 May be used to set default environment
1101 variables to add to forked child processes.
1102 May be used more than once to set multiple
1103 variables.</para></listitem>
aa704ba8
LP
1104 </varlistentry>
1105
c66e7bc7
LP
1106 <varlistentry>
1107 <term><varname>quiet</varname></term>
1108
9749cd77 1109 <listitem><para>Turn off
d081dffb 1110 status output at boot, much like
c66e7bc7 1111 <varname>systemd.show_status=false</varname>
c66e7bc7
LP
1112 would. Note that this option is also
1113 read by the kernel itself and disables
9749cd77
LN
1114 kernel log output. Passing this option
1115 hence turns off the usual output from
1116 both the system manager and the kernel.
1117 </para></listitem>
1118 </varlistentry>
1119
1120 <varlistentry>
1121 <term><varname>debug</varname></term>
1122
1123 <listitem><para>Turn on debugging
1124 output. This is equivalent to
1125 <varname>systemd.log_level=debug</varname>.
1126 Note that this option is also read by
1127 the kernel itself and enables kernel
1128 debug output. Passing this option
1129 hence turns on the debug output from
1130 both the system manager and the
c66e7bc7
LP
1131 kernel.</para></listitem>
1132 </varlistentry>
1133
1134 <varlistentry>
77565771 1135 <term><varname>-b</varname></term>
c66e7bc7
LP
1136 <term><varname>emergency</varname></term>
1137
1138 <listitem><para>Boot into emergency
1139 mode. This is equivalent to
1140 <varname>systemd.unit=emergency.target</varname>
1141 and provided for compatibility
1142 reasons and to be easier to type.</para></listitem>
1143 </varlistentry>
1144
1145 <varlistentry>
1146 <term><varname>single</varname></term>
1147 <term><varname>s</varname></term>
1148 <term><varname>S</varname></term>
1149 <term><varname>1</varname></term>
1150
1151 <listitem><para>Boot into rescue
1152 mode. This is equivalent to
1153 <varname>systemd.unit=rescue.target</varname>
1154 and provided for compatibility reasons
1155 and to be easier to
1156 type.</para></listitem>
1157 </varlistentry>
1158
1159 <varlistentry>
1160 <term><varname>2</varname></term>
1161 <term><varname>3</varname></term>
1162 <term><varname>4</varname></term>
1163 <term><varname>5</varname></term>
1164
1165 <listitem><para>Boot into the
16dad32e
AE
1166 specified legacy SysV runlevel. These
1167 are equivalent to
c66e7bc7
LP
1168 <varname>systemd.unit=runlevel2.target</varname>,
1169 <varname>systemd.unit=runlevel3.target</varname>,
1170 <varname>systemd.unit=runlevel4.target</varname>,
16dad32e 1171 and <varname>systemd.unit=runlevel5.target</varname>, respectively,
c66e7bc7
LP
1172 and provided for compatibility reasons
1173 and to be easier to
1174 type.</para></listitem>
1175 </varlistentry>
1176
1177 <varlistentry>
1178 <term><varname>locale.LANG=</varname></term>
1179 <term><varname>locale.LANGUAGE=</varname></term>
1180 <term><varname>locale.LC_CTYPE=</varname></term>
1181 <term><varname>locale.LC_NUMERIC=</varname></term>
1182 <term><varname>locale.LC_TIME=</varname></term>
1183 <term><varname>locale.LC_COLLATE=</varname></term>
1184 <term><varname>locale.LC_MONETARY=</varname></term>
1185 <term><varname>locale.LC_MESSAGES=</varname></term>
1186 <term><varname>locale.LC_PAPER=</varname></term>
1187 <term><varname>locale.LC_NAME=</varname></term>
1188 <term><varname>locale.LC_ADDRESS=</varname></term>
1189 <term><varname>locale.LC_TELEPHONE=</varname></term>
1190 <term><varname>locale.LC_MEASUREMENT=</varname></term>
1191 <term><varname>locale.LC_IDENTIFICATION=</varname></term>
1192
1193 <listitem><para>Set the system locale
1194 to use. This overrides the settings in
1195 <filename>/etc/locale.conf</filename>. For
1196 more information see
1197 <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
1198 and
1199 <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
1200 </para></listitem>
1201 </varlistentry>
f3e219a2 1202 </variablelist>
c66e7bc7
LP
1203
1204 <para>For other kernel command line parameters
1205 understood by components of the core OS, please refer
1206 to
1207 <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
f3e219a2
LP
1208 </refsect1>
1209
2218198b
LP
1210 <refsect1>
1211 <title>Sockets and FIFOs</title>
1212
1213 <variablelist>
1214 <varlistentry>
bb29785e 1215 <term><filename>/run/systemd/notify</filename></term>
2218198b
LP
1216
1217 <listitem><para>Daemon status
bb29785e 1218 notification socket. This is an
74d00578 1219 <constant>AF_UNIX</constant> datagram socket and is used to
bb29785e
LP
1220 implement the daemon notification
1221 logic as implemented by
2218198b
LP
1222 <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
1223
1224 </varlistentry>
1225
5dc50792 1226 <varlistentry>
bb29785e 1227 <term><filename>/run/systemd/shutdownd</filename></term>
5dc50792
LP
1228
1229 <listitem><para>Used internally by the
1230 <citerefentry><refentrytitle>shutdown</refentrytitle><manvolnum>8</manvolnum></citerefentry>
1231 tool to implement delayed
74d00578 1232 shutdowns. This is an <constant>AF_UNIX</constant> datagram
bb29785e 1233 socket.</para></listitem>
5dc50792
LP
1234 </varlistentry>
1235
2218198b 1236 <varlistentry>
bb29785e 1237 <term><filename>/run/systemd/private</filename></term>
2218198b
LP
1238
1239 <listitem><para>Used internally as
1240 communication channel between
1241 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
1242 and the systemd process. This is an
74d00578 1243 <constant>AF_UNIX</constant> stream socket. This interface
bb29785e
LP
1244 is private to systemd and should not
1245 be used in external
2218198b
LP
1246 projects.</para></listitem>
1247 </varlistentry>
1248
1249 <varlistentry>
1250 <term><filename>/dev/initctl</filename></term>
1251
1252 <listitem><para>Limited compatibility
1253 support for the SysV client interface,
1254 as implemented by the
1255 <filename>systemd-initctl.service</filename>
1256 unit. This is a named pipe in the file
1257 system. This interface is obsolete and
1258 should not be used in new
1259 applications.</para></listitem>
1260 </varlistentry>
1261 </variablelist>
9e632bf7
LP
1262 </refsect1>
1263
9e632bf7
LP
1264 <refsect1>
1265 <title>See Also</title>
1266 <para>
ba54bcb8 1267 The <ulink url="http://www.freedesktop.org/wiki/Software/systemd/">systemd Homepage</ulink>,
5f9cfd4c 1268 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
4aa6e778 1269 <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
7874bcd6 1270 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
1638bd34 1271 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
7874bcd6 1272 <citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
9e632bf7 1273 <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
cb07866b 1274 <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
7874bcd6
LP
1275 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
1276 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
5aded369 1277 <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
013d8a39 1278 <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
5aded369 1279 <citerefentry project='man-pages'><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
9cc2c8b7 1280 <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
9e632bf7
LP
1281 </para>
1282 </refsect1>
1283
1284</refentry>