]>
Commit | Line | Data |
---|---|---|
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 | |
11 | under the terms of the GNU General Public License as published by | |
12 | the Free Software Foundation; either version 2 of the License, or | |
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 | |
18 | General Public License for more details. | |
19 | ||
20 | You should have received a copy of the GNU General Public License | |
21 | along with systemd; If not, see <http://www.gnu.org/licenses/>. | |
22 | --> | |
23 | ||
24 | <refentry id="systemd"> | |
25 | ||
26 | <refentryinfo> | |
27 | <title>systemd</title> | |
28 | <productname>systemd</productname> | |
29 | ||
30 | <authorgroup> | |
31 | <author> | |
32 | <contrib>Developer</contrib> | |
33 | <firstname>Lennart</firstname> | |
34 | <surname>Poettering</surname> | |
35 | <email>lennart@poettering.net</email> | |
36 | </author> | |
37 | </authorgroup> | |
38 | </refentryinfo> | |
39 | ||
40 | <refmeta> | |
41 | <refentrytitle>systemd</refentrytitle> | |
160cd5c9 | 42 | <manvolnum>1</manvolnum> |
9e632bf7 LP |
43 | </refmeta> |
44 | ||
45 | <refnamediv> | |
46 | <refname>systemd</refname> | |
6f6083dc | 47 | <refname>init</refname> |
9e632bf7 LP |
48 | <refpurpose>systemd System and Session Manager</refpurpose> |
49 | </refnamediv> | |
50 | ||
2218198b LP |
51 | <refsynopsisdiv> |
52 | <cmdsynopsis> | |
160cd5c9 | 53 | <command>systemd <arg choice="opt" rep="repeat">OPTIONS</arg></command> |
2218198b LP |
54 | </cmdsynopsis> |
55 | <cmdsynopsis> | |
160cd5c9 | 56 | <command>init <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg></command> |
2218198b LP |
57 | </cmdsynopsis> |
58 | </refsynopsisdiv> | |
59 | ||
9e632bf7 LP |
60 | <refsect1> |
61 | <title>Description</title> | |
62 | ||
2218198b LP |
63 | <para>systemd is a system and session manager for |
64 | Linux operating systems. When run as first process on | |
af62c704 KS |
65 | boot (as PID 1), it acts as init system that brings |
66 | up and maintains userspace services.</para> | |
2218198b | 67 | |
af62c704 | 68 | <para>For compatibility with SysV, if systemd is called |
2218198b | 69 | as <command>init</command> and a PID that is not |
af62c704 | 70 | 1, it will execute <command>telinit</command> and pass |
2218198b LP |
71 | all command line arguments unmodified. That means |
72 | <command>init</command> and <command>telinit</command> | |
73 | are mostly equivalent when invoked from normal login sessions. See | |
74 | <citerefentry><refentrytitle>telinit</refentrytitle><manvolnum>8</manvolnum></citerefentry> | |
75 | for more information.</para> | |
f3e219a2 LP |
76 | |
77 | <para>When run as system instance, systemd interprets | |
78 | the configuration file | |
79 | <filename>system.conf</filename>, otherwise | |
80 | <filename>session.conf</filename>. See | |
81 | <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> | |
82 | for more information.</para> | |
2218198b LP |
83 | </refsect1> |
84 | ||
85 | <refsect1> | |
86 | <title>Options</title> | |
87 | ||
88 | <para>The following options are understood:</para> | |
89 | ||
90 | <variablelist> | |
91 | <varlistentry> | |
160cd5c9 LP |
92 | <term><option>-h</option></term> |
93 | <term><option>--help</option></term> | |
2218198b LP |
94 | |
95 | <listitem><para>Prints a short help | |
96 | text and exits.</para></listitem> | |
97 | </varlistentry> | |
f3e219a2 LP |
98 | <varlistentry> |
99 | <term><option>--test</option></term> | |
100 | ||
101 | <listitem><para>Determine startup | |
102 | sequence, dump it and exit. This is an | |
103 | option useful for debugging | |
104 | only.</para></listitem> | |
105 | </varlistentry> | |
106 | <varlistentry> | |
107 | <term><option>--dump-configuration-items</option></term> | |
108 | ||
109 | <listitem><para>Dump understood unit | |
110 | configuration items. This outputs a | |
111 | terse but complete list of | |
112 | configuration items understood in unit | |
113 | definition files.</para></listitem> | |
114 | </varlistentry> | |
115 | <varlistentry> | |
116 | <term><option>--introspect=</option></term> | |
117 | ||
118 | <listitem><para>Extract D-Bus | |
119 | interface introspection data. This is | |
ad678a06 | 120 | mostly useful at install time |
f3e219a2 LP |
121 | to generate data suitable for the |
122 | D-Bus interfaces | |
123 | repository. Optionally the interface | |
124 | name for the introspection data may be | |
125 | specified. If omitted, the | |
126 | introspection data for all interfaces | |
127 | is dumped.</para></listitem> | |
128 | </varlistentry> | |
2218198b LP |
129 | <varlistentry> |
130 | <term><option>--unit=</option></term> | |
131 | ||
132 | <listitem><para>Set default unit to | |
133 | activate on startup. If not specified | |
134 | defaults to | |
135 | <filename>default.target</filename>.</para></listitem> | |
136 | </varlistentry> | |
137 | <varlistentry> | |
edb9aaa8 LP |
138 | <term><option>--system</option></term> |
139 | <term><option>--session</option></term> | |
140 | ||
141 | <listitem><para>Tell systemd to run a | |
142 | system instance (resp. session | |
143 | instance), even if the process ID is | |
144 | not 1 (resp. is 1), i.e. system is not | |
145 | (resp. is) run as init process. | |
146 | Normally it should not be necessary to | |
147 | pass these options, as systemd | |
148 | automatically detects the mode it is | |
149 | started in. These options are hence of | |
150 | little use except for | |
2218198b LP |
151 | debugging.</para></listitem> |
152 | </varlistentry> | |
153 | <varlistentry> | |
f3e219a2 | 154 | <term><option>--dump-core</option></term> |
2218198b | 155 | |
f3e219a2 | 156 | <listitem><para>Dump core on crash. This switch has no effect when run as session instance.</para></listitem> |
2218198b LP |
157 | </varlistentry> |
158 | <varlistentry> | |
f3e219a2 | 159 | <term><option>--crash-shell</option></term> |
2218198b | 160 | |
f3e219a2 | 161 | <listitem><para>Run shell on crash. This switch has no effect when run as session instance.</para></listitem> |
2218198b LP |
162 | </varlistentry> |
163 | <varlistentry> | |
164 | <term><option>--confirm-spawn</option></term> | |
165 | ||
f3e219a2 | 166 | <listitem><para>Ask for confirmation when spawning processes. This switch has no effect when run as session instance.</para></listitem> |
2218198b LP |
167 | </varlistentry> |
168 | <varlistentry> | |
f3e219a2 | 169 | <term><option>--show-status</option></term> |
2218198b | 170 | |
f3e219a2 LP |
171 | <listitem><para>Show terse service status information while booting. This switch has no effect when run as session instance.</para></listitem> |
172 | </varlistentry> | |
173 | <varlistentry> | |
174 | <term><option>--log-target=</option></term> | |
175 | ||
176 | <listitem><para>Set log | |
177 | target. Argument must be one of | |
178 | <option>console</option>, | |
179 | <option>syslog</option>, | |
180 | <option>kmsg</option>, | |
181 | <option>syslog-or-kmsg</option>, | |
182 | <option>null</option>.</para></listitem> | |
2218198b LP |
183 | </varlistentry> |
184 | <varlistentry> | |
185 | <term><option>--log-level=</option></term> | |
186 | ||
187 | <listitem><para>Set log level. As | |
188 | argument this accepts a numerical log | |
189 | level or the well-known <citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry> | |
190 | symbolic names (lowercase): | |
191 | <option>emerg</option>, | |
192 | <option>alert</option>, | |
193 | <option>crit</option>, | |
194 | <option>err</option>, | |
195 | <option>warning</option>, | |
196 | <option>notice</option>, | |
197 | <option>info</option>, | |
198 | <option>debug</option>.</para></listitem> | |
199 | </varlistentry> | |
2218198b LP |
200 | <varlistentry> |
201 | <term><option>--log-color=</option></term> | |
202 | ||
203 | <listitem><para>Highlight important | |
204 | log messages. Argument is a boolean | |
205 | value. If the argument is omitted it | |
206 | defaults to | |
207 | <option>true</option>.</para></listitem> | |
208 | </varlistentry> | |
209 | <varlistentry> | |
210 | <term><option>--log-location=</option></term> | |
211 | ||
212 | <listitem><para>Include code location | |
213 | in log messages. This is mostly | |
214 | relevant for debugging | |
215 | purposes. Argument is a boolean | |
216 | value. If the argument is omitted | |
217 | it defaults to | |
218 | <option>true</option>.</para></listitem> | |
219 | </varlistentry> | |
2218198b LP |
220 | </variablelist> |
221 | </refsect1> | |
222 | ||
99ffae46 LP |
223 | <refsect1> |
224 | <title>Concepts</title> | |
225 | ||
226 | <para>systemd provides a dependency system between | |
227 | various entities called "units". Units encapsulate | |
228 | various objects that are relevant for system boot-up | |
229 | and maintainance. The majority of units are configured | |
230 | in unit configuration files, whose syntax and basic | |
231 | set of options is described in | |
232 | <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
233 | however some are created automatically from other | |
234 | configuration or dynamically from system state. Units | |
235 | may be active (meaning started, bound, plugged in, ... | |
236 | depending on the unit type), or inactive (meaning | |
dccb2600 | 237 | stopped, unbound, unplugged, ...), as well as in the |
99ffae46 LP |
238 | process of being activated or deactivated, |
239 | i.e. between the two states. The following unit types | |
240 | are available:</para> | |
241 | ||
242 | <orderedlist> | |
243 | <listitem><para>Service units, which control | |
244 | daemons and the processes they consist of. For | |
245 | details see | |
246 | <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
247 | ||
248 | <listitem><para>Socket units, which | |
249 | encapsulate local IPC or network sockets in | |
250 | the system, useful for socket-based | |
251 | activation. For details about socket units see | |
252 | <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
253 | for details on socket-based activation and | |
254 | other forms of activation, see | |
255 | <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para></listitem> | |
256 | ||
257 | <listitem><para>Target units are useful to | |
258 | group units, or provide well-known | |
259 | synchronization points during boot-up, see | |
260 | <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
261 | ||
262 | <listitem><para>Device units expose kernel | |
263 | devices in systemd and may be used to | |
264 | implement device-based activation. For details | |
265 | see | |
266 | <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
267 | ||
268 | <listitem><para>Mount units control mount | |
269 | points in the file system, for details see | |
270 | <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
271 | ||
272 | <listitem><para>Automount units provide | |
273 | automount capabilities, for on-demand mounting | |
274 | of file systems as well as parallelized | |
275 | boot-up. See | |
276 | <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
277 | ||
278 | <listitem><para>Snapshot units can be used to | |
279 | temporarily save the state of the set of | |
280 | systemd units, which later may be restored by | |
281 | activating the saved snapshot unit. For more | |
282 | information see | |
7461d1b7 | 283 | <citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> |
99ffae46 LP |
284 | |
285 | <listitem><para>Timer units are useful for | |
286 | triggering activation of other units based on | |
287 | timers. You may find details in | |
288 | <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
289 | ||
290 | <listitem><para>Swap units are very similar to | |
291 | mount units and encapsulated memory swap | |
292 | partitions or files of the operating | |
293 | systemd. They are described in <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
294 | ||
295 | <listitem><para>Path units may be used | |
dccb2600 | 296 | to activate other services when file system |
99ffae46 LP |
297 | objects change or are modified. See |
298 | <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
299 | ||
300 | </orderedlist> | |
301 | ||
302 | <para>Units are named as their configuration | |
303 | files. Some units have special semantics. A detailed | |
304 | list you may find in | |
305 | <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> | |
306 | ||
307 | <para>On boot systemd activates the target unit | |
dccb2600 | 308 | <filename>default.target</filename> whose job is to |
99ffae46 LP |
309 | activate on-boot services and other on-boot units by |
310 | pulling them in via dependencies. Usually the unit | |
311 | name is just an alias (symlink) for either | |
312 | <filename>graphical.target</filename> (for | |
313 | fully-featured boots into the UI) or | |
314 | <filename>multi-user.target</filename> (for limited | |
315 | console-only boots for use in embedded or server | |
316 | environments, or similar; a subset of | |
317 | graphical.target). However it is at the discretion of | |
318 | the administrator to configure it as an alias to any | |
319 | other target unit. See | |
320 | <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> | |
321 | for details about these target units.</para> | |
322 | ||
dccb2600 | 323 | <para>Processes systemd spawns are placed in |
59a3e1bc LP |
324 | individual Linux control groups named after the unit |
325 | which they belong to in the private systemd | |
326 | hierarchy. (see <ulink | |
327 | url="http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink> | |
328 | for more information about control groups, or short | |
329 | "cgroups"). systemd uses this to effectively keep | |
330 | track of processes. Control group information is | |
331 | maintained in the kernel, and is accessible via the | |
332 | file system hierarchy (beneath | |
333 | <filename>/cgroup/systemd/</filename>), or in tools | |
334 | such as | |
335 | <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> | |
336 | (<command>ps xawf -eo pid,user,cgroup,args</command> | |
337 | is particularly useful to list all processes and the | |
338 | systemd units they belong to.).</para> | |
339 | ||
340 | <para>systemd is compatible with the SysV init system | |
341 | to a large degree: SysV init scripts are supported and | |
342 | simply read as an alternative (though limited) | |
343 | configuration file format. The SysV | |
344 | <filename>/dev/initctl</filename> interface is | |
dccb2600 OÇ |
345 | provided, and compatibility implementations of the |
346 | various SysV client tools are available. In addition to | |
347 | that, various established Unix functionality such as | |
59a3e1bc LP |
348 | <filename>/etc/fstab</filename> or the |
349 | <filename>utmp</filename> database are | |
350 | supported.</para> | |
351 | ||
352 | <para>systemd has a minimal transaction system: if a | |
353 | unit is requested to start up or shut down it will add | |
354 | it and all its dependencies to a temporary | |
355 | transaction. Then, it will verify if the transaction | |
356 | is consistent (i.e. whether the ordering of all units | |
357 | is cycle-free). If it is not, systemd will try to fix | |
358 | it up, and removes non-essential jobs from the | |
359 | transaction that might remove the loop. Also, systemd | |
360 | tries to suppress non-essential jobs in the | |
361 | transaction that would stop a running service. Finally | |
362 | it is checked whether the jobs of the transaction | |
363 | contradict jobs that have already been queued, and | |
364 | optionally the transaction is aborted then. If all | |
365 | worked out and the transaction is consistent and | |
366 | minimized in its impact it is merged with all already | |
367 | outstanding jobs and added to the run | |
368 | queue. Effectively this means that before executing a | |
369 | requested operation, systemd will verify that it makes | |
370 | sense, fixing it if possible, and only failing if it | |
371 | really cannot work.</para> | |
372 | ||
373 | <para>Systemd contains native implementations of | |
374 | various tasks that need to be executed as part of the | |
375 | boot process. For example, it sets the host name or | |
376 | configures the loopback network device. It also sets | |
377 | up and mounts various API file systems, such as | |
378 | <filename>/sys</filename> or | |
379 | <filename>/proc</filename>.</para> | |
380 | ||
99ffae46 LP |
381 | <para>For more information about the concepts and |
382 | ideas behind systemd please refer to the <ulink | |
383 | url="http://0pointer.de/blog/projects/systemd.html">Original | |
59a3e1bc | 384 | Design Document</ulink>.</para> |
99ffae46 LP |
385 | </refsect1> |
386 | ||
160cd5c9 LP |
387 | <refsect1> |
388 | <title>Directories</title> | |
7874bcd6 LP |
389 | |
390 | <variablelist> | |
391 | <varlistentry> | |
392 | <term>System unit directories</term> | |
393 | ||
394 | <listitem><para>The systemd system | |
395 | manager reads unit configuration from | |
396 | various directories. Packages that | |
397 | want to install unit files shall place | |
398 | them in the directory returned by | |
399 | <command>pkg-config systemd | |
400 | --variable=systemdsystemunitdir</command>. Other | |
401 | directories checked are | |
402 | <filename>/usr/local/share/systemd/system</filename> | |
403 | and | |
404 | <filename>/usr/share/systemd/system</filename>. User | |
405 | configuration always takes | |
406 | precedence. <command>pkg-config | |
407 | systemd | |
408 | --variable=systemdsystemconfdir</command> | |
409 | returns the path of the system | |
410 | configuration directory. Packages | |
af62c704 KS |
411 | should alter the content of these directories |
412 | only with the | |
7874bcd6 LP |
413 | <citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry> |
414 | tool.</para></listitem> | |
415 | </varlistentry> | |
416 | </variablelist> | |
417 | ||
418 | <variablelist> | |
419 | <varlistentry> | |
420 | <term>Session unit directories</term> | |
421 | ||
422 | <listitem><para>Similar rules apply | |
423 | for the session unit | |
424 | directories. However, here the <ulink | |
425 | url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG | |
426 | Base Directory specification</ulink> | |
427 | is followed to find | |
428 | units. Applications should place their | |
429 | unit files in the directory returned | |
430 | by <command>pkg-config systemd | |
431 | --variable=systemdsessionunitdir</command>. Global | |
432 | configuration is done in the | |
433 | directory reported by | |
434 | <command>pkg-config systemd | |
435 | --variable=systemdsessionconfdir</command>. The | |
436 | <citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry> | |
437 | tool can handle both global (i.e. for | |
438 | all users) and private (for one user) | |
439 | enabling/disabling of | |
440 | units.</para></listitem> | |
441 | </varlistentry> | |
442 | </variablelist> | |
443 | ||
444 | <variablelist> | |
445 | <varlistentry> | |
446 | <term>SysV init scripts directory</term> | |
447 | ||
448 | <listitem><para>The location of the | |
449 | SysV init script directory varies | |
450 | between distributions. If systemd | |
451 | cannot find a native unit file for a | |
af62c704 | 452 | requested service, it will look for a |
7874bcd6 LP |
453 | SysV init script of the same name |
454 | (with the | |
455 | <filename>.service</filename> suffix | |
456 | removed).</para></listitem> | |
457 | </varlistentry> | |
458 | </variablelist> | |
459 | ||
460 | <variablelist> | |
461 | <varlistentry> | |
462 | <term>SysV runlevel link farm directory</term> | |
463 | ||
464 | <listitem><para>The location of the | |
465 | SysV runlevel link farm directory | |
466 | varies between distributions. systemd | |
467 | will take the link farm into account | |
468 | when figuring out whether a service | |
469 | shall be enabled. Note that a service | |
470 | unit with a native unit configuration | |
edb9aaa8 | 471 | file cannot be started by activating it |
7874bcd6 LP |
472 | in the SysV runlevel link |
473 | farm.</para></listitem> | |
474 | </varlistentry> | |
475 | </variablelist> | |
160cd5c9 LP |
476 | </refsect1> |
477 | ||
478 | <refsect1> | |
7874bcd6 | 479 | <title>Signals</title> |
160cd5c9 LP |
480 | |
481 | <variablelist> | |
482 | <varlistentry> | |
7874bcd6 LP |
483 | <term>SIGTERM</term> |
484 | ||
485 | <listitem><para>Upon receiving this | |
486 | signal the systemd system manager | |
487 | serializes its state, reexecutes | |
488 | itself and deserializes the saved | |
489 | state again. This is mostly equivalent | |
490 | to <command>systemctl | |
491 | daemon-reexec</command>.</para> | |
492 | ||
493 | <para>systemd session managers will | |
494 | start the | |
495 | <filename>exit.target</filename> unit | |
496 | when this signal is received. This is | |
497 | mostly equivalent to | |
498 | <command>systemctl --session start | |
499 | exit.target</command>.</para></listitem> | |
500 | </varlistentry> | |
501 | ||
502 | <varlistentry> | |
503 | <term>SIGINT</term> | |
504 | ||
505 | <listitem><para>Upon receiving this | |
506 | signal the systemd system manager will | |
507 | start the | |
508 | <filename>ctrl-alt-del.target</filename> unit. This | |
509 | is mostly equivalent to | |
510 | <command>systemctl start | |
511 | ctl-alt-del.target</command>.</para> | |
512 | ||
513 | <para>systemd session managers | |
514 | treat this signal the same way as | |
515 | SIGTERM.</para></listitem> | |
516 | </varlistentry> | |
517 | ||
518 | <varlistentry> | |
519 | <term>SIGWINCH</term> | |
520 | ||
521 | <listitem><para>When this signal is | |
522 | received the systemd system manager | |
523 | will start the | |
524 | <filename>kbrequest.target</filename> | |
525 | unit. This is mostly equivalent to | |
526 | <command>systemctl start | |
527 | kbrequest.target</command>.</para> | |
528 | ||
529 | <para>This signal is ignored by | |
530 | systemd session | |
531 | managers.</para></listitem> | |
532 | </varlistentry> | |
533 | ||
534 | <varlistentry> | |
535 | <term>SIGPWR</term> | |
536 | ||
537 | <listitem><para>When this signal is | |
538 | received the systemd manager | |
539 | will start the | |
540 | <filename>sigpwr.target</filename> | |
541 | unit. This is mostly equivalent to | |
542 | <command>systemctl start | |
543 | sigpwr.target</command>.</para></listitem> | |
544 | </varlistentry> | |
545 | ||
546 | <varlistentry> | |
547 | <term>SIGUSR1</term> | |
548 | ||
549 | <listitem><para>When this signal is | |
550 | received the systemd manager will try | |
551 | to reconnect to the D-Bus | |
552 | bus.</para></listitem> | |
553 | </varlistentry> | |
554 | ||
555 | <varlistentry> | |
556 | <term>SIGUSR2</term> | |
557 | ||
558 | <listitem><para>When this signal is | |
559 | received the systemd manager will log | |
560 | its complete state in human readable | |
561 | form. The data logged is the same as | |
562 | printed by <command>systemctl | |
563 | dump</command>.</para></listitem> | |
564 | </varlistentry> | |
565 | ||
566 | <varlistentry> | |
567 | <term>SIGHUP</term> | |
568 | ||
569 | <listitem><para>Reloads the complete | |
570 | daemon configuration. This is mostly | |
571 | equivalent to <command>systemctl | |
572 | daemon-reload</command>.</para></listitem> | |
573 | </varlistentry> | |
574 | ||
575 | <varlistentry> | |
576 | <term>SIGRTMIN+0</term> | |
577 | ||
578 | <listitem><para>Enters default mode, starts the | |
579 | <filename>default.target</filename> | |
580 | unit. This is mostly equivalent to | |
581 | <command>systemctl start | |
582 | default.target</command>.</para></listitem> | |
583 | </varlistentry> | |
584 | ||
585 | <varlistentry> | |
586 | <term>SIGRTMIN+1</term> | |
587 | ||
588 | <listitem><para>Enters rescue mode, | |
589 | starts the | |
590 | <filename>rescue.target</filename> | |
591 | unit. This is mostly equivalent to | |
592 | <command>systemctl isolate | |
593 | rescue.target</command>.</para></listitem> | |
594 | </varlistentry> | |
160cd5c9 | 595 | |
7874bcd6 LP |
596 | <varlistentry> |
597 | <term>SIGRTMIN+2</term> | |
598 | ||
599 | <listitem><para>Enters emergency mode, | |
600 | starts the | |
601 | <filename>emergency.service</filename> | |
602 | unit. This is mostly equivalent to | |
603 | <command>systemctl isolate | |
604 | emergency.service</command>.</para></listitem> | |
605 | </varlistentry> | |
606 | ||
607 | <varlistentry> | |
608 | <term>SIGRTMIN+3</term> | |
609 | ||
610 | <listitem><para>Halts the machine, | |
611 | starts the | |
612 | <filename>halt.target</filename> | |
613 | unit. This is mostly equivalent to | |
614 | <command>systemctl start | |
615 | halt.target</command>.</para></listitem> | |
616 | </varlistentry> | |
617 | ||
618 | <varlistentry> | |
619 | <term>SIGRTMIN+4</term> | |
620 | ||
621 | <listitem><para>Powers off the machine, | |
622 | starts the | |
623 | <filename>poweroff.target</filename> | |
624 | unit. This is mostly equivalent to | |
625 | <command>systemctl start | |
626 | poweroff.target</command>.</para></listitem> | |
627 | </varlistentry> | |
628 | ||
629 | <varlistentry> | |
630 | <term>SIGRTMIN+5</term> | |
631 | ||
632 | <listitem><para>Reboots the machine, | |
633 | starts the | |
634 | <filename>reboot.target</filename> | |
635 | unit. This is mostly equivalent to | |
636 | <command>systemctl start | |
637 | reboot.target</command>.</para></listitem> | |
160cd5c9 LP |
638 | </varlistentry> |
639 | </variablelist> | |
640 | </refsect1> | |
641 | ||
7874bcd6 LP |
642 | <refsect1> |
643 | <title>Environment</title> | |
644 | ||
645 | <variablelist> | |
646 | <varlistentry> | |
647 | <term><varname>$SYSTEMD_LOG_LEVEL</varname></term> | |
648 | <listitem><para>systemd reads the | |
649 | log level from this environment | |
436c44a5 | 650 | variable. This can be overridden with |
7874bcd6 LP |
651 | <option>--log-level=</option>.</para></listitem> |
652 | </varlistentry> | |
653 | ||
654 | <varlistentry> | |
655 | <term><varname>$SYSTEMD_LOG_TARGET</varname></term> | |
656 | <listitem><para>systemd reads the | |
657 | log target from this environment | |
436c44a5 | 658 | variable. This can be overridden with |
7874bcd6 LP |
659 | <option>--log-target=</option>.</para></listitem> |
660 | </varlistentry> | |
661 | ||
662 | <varlistentry> | |
663 | <term><varname>$SYSTEMD_LOG_COLOR</varname></term> | |
664 | <listitem><para>Controls whether | |
665 | systemd highlights important log | |
436c44a5 | 666 | messages. This can be overridden with |
7874bcd6 LP |
667 | <option>--log-color=</option>.</para></listitem> |
668 | </varlistentry> | |
669 | ||
670 | <varlistentry> | |
671 | <term><varname>$SYSTEMD_LOG_LOCATION</varname></term> | |
672 | <listitem><para>Controls whether | |
673 | systemd prints the code location along | |
674 | with log messages. This can be | |
436c44a5 | 675 | overridden with |
7874bcd6 LP |
676 | <option>--log-location=</option>.</para></listitem> |
677 | </varlistentry> | |
678 | ||
679 | <varlistentry> | |
680 | <term><varname>$XDG_CONFIG_HOME</varname></term> | |
681 | <term><varname>$XDG_CONFIG_DIRS</varname></term> | |
682 | <term><varname>$XDG_DATA_HOME</varname></term> | |
683 | <term><varname>$XDG_DATA_DIRS</varname></term> | |
684 | ||
685 | <listitem><para>The systemd session | |
686 | manager uses these variables in | |
687 | accordance to the <ulink | |
688 | url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG | |
689 | Base Directory specification</ulink> | |
690 | to find its configuration.</para></listitem> | |
691 | </varlistentry> | |
692 | ||
693 | <varlistentry> | |
694 | <term><varname>$SYSTEMD_UNIT_PATH</varname></term> | |
695 | ||
696 | <listitem><para>Controls where systemd | |
697 | looks for unit | |
698 | files.</para></listitem> | |
699 | </varlistentry> | |
700 | ||
701 | <varlistentry> | |
702 | <term><varname>$SYSTEMD_SYSVINIT_PATH</varname></term> | |
703 | ||
704 | <listitem><para>Controls where systemd | |
705 | looks for SysV init scripts.</para></listitem> | |
706 | </varlistentry> | |
707 | ||
708 | <varlistentry> | |
709 | <term><varname>$SYSTEMD_SYSVRCND_PATH</varname></term> | |
710 | ||
711 | <listitem><para>Controls where systemd | |
712 | looks for SysV init script runlevel link | |
713 | farms.</para></listitem> | |
714 | </varlistentry> | |
715 | ||
716 | <varlistentry> | |
717 | <term><varname>$LISTEN_PID</varname></term> | |
718 | <term><varname>$LISTEN_FDS</varname></term> | |
719 | ||
720 | <listitem><para>Set by systemd for | |
721 | supervised processes during | |
722 | socket-based activation. See | |
723 | <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry> | |
724 | for more information. | |
725 | </para></listitem> | |
726 | </varlistentry> | |
727 | ||
728 | <varlistentry> | |
729 | <term><varname>$NOTIFY_SOCKET</varname></term> | |
730 | ||
731 | <listitem><para>Set by systemd for | |
732 | supervised processes for status and | |
733 | start-up completion notification. See | |
734 | <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry> | |
735 | for more information. | |
736 | </para></listitem> | |
737 | </varlistentry> | |
738 | </variablelist> | |
739 | </refsect1> | |
160cd5c9 | 740 | |
f3e219a2 LP |
741 | <refsect1> |
742 | <title>Kernel Command Line</title> | |
743 | ||
744 | <para>When run as system instance systemd parses a few kernel command line arguments:</para> | |
745 | ||
746 | <variablelist> | |
747 | <varlistentry> | |
748 | <term><varname>systemd.unit=</varname></term> | |
749 | ||
750 | <listitem><para>Overrides the unit to | |
751 | activate on boot. Defaults to | |
752 | <filename>default.target</filename>. This | |
753 | may be used to temporarily boot into a | |
754 | different boot unit, for example | |
755 | <filename>rescue.target</filename> or | |
756 | <filename>emergency.service</filename>. See | |
757 | <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> | |
758 | for details about these | |
759 | units.</para></listitem> | |
760 | </varlistentry> | |
761 | ||
762 | <varlistentry> | |
763 | <term><varname>systemd.log_target=</varname></term> | |
764 | <term><varname>systemd.log_level=</varname></term> | |
765 | <term><varname>systemd.log_color=</varname></term> | |
766 | <term><varname>systemd.log_location=</varname></term> | |
767 | ||
768 | <listitem><para>Controls log output, | |
769 | with the same effect as the | |
770 | <varname>$SYSTEMD_LOG_TARGET</varname>, <varname>$SYSTEMD_LOG_LEVEL</varname>, <varname>$SYSTEMD_LOG_COLOR</varname>, <varname>$SYSTEMD_LOG_LOCATION</varname> | |
771 | environment variables described above.</para></listitem> | |
772 | </varlistentry> | |
773 | ||
774 | <varlistentry> | |
775 | <term><varname>systemd.dump_core=</varname></term> | |
776 | ||
777 | <listitem><para>Takes a boolean | |
778 | argument. If <option>true</option> | |
779 | systemd dumps core when it | |
780 | crashes. Otherwise no core dump is | |
781 | created. Defaults to | |
782 | <option>true</option>.</para></listitem> | |
783 | </varlistentry> | |
784 | ||
785 | <varlistentry> | |
786 | <term><varname>systemd.crash_shell=</varname></term> | |
787 | ||
788 | <listitem><para>Takes a boolean | |
789 | argument. If <option>true</option> | |
790 | systemd spawns a shell when it | |
791 | crashes. Otherwise no core dump is | |
792 | created. Defaults to | |
793 | <option>false</option>, for security | |
794 | reasons, as the shell is not protected | |
795 | by any password | |
796 | authentication.</para></listitem> | |
797 | </varlistentry> | |
798 | ||
799 | <varlistentry> | |
800 | <term><varname>systemd.crash_chvt=</varname></term> | |
801 | ||
802 | <listitem><para>Takes an integer | |
803 | argument. If positive systemd | |
804 | activates the specified virtual | |
805 | terminal when it crashes. Defaults to | |
806 | <literal>-1</literal>.</para></listitem> | |
807 | </varlistentry> | |
808 | ||
809 | <varlistentry> | |
810 | <term><varname>systemd.show_status=</varname></term> | |
811 | ||
812 | <listitem><para>Takes a boolean | |
813 | argument. If <option>true</option> | |
814 | shows terse service status updates on | |
815 | the console during bootup. Defaults to | |
816 | <option>true</option>.</para></listitem> | |
817 | </varlistentry> | |
818 | ||
819 | </variablelist> | |
820 | </refsect1> | |
821 | ||
2218198b LP |
822 | <refsect1> |
823 | <title>Sockets and FIFOs</title> | |
824 | ||
825 | <variablelist> | |
826 | <varlistentry> | |
827 | <term><filename>@/org/freedesktop/systemd1/notify</filename></term> | |
828 | ||
829 | <listitem><para>Daemon status | |
830 | notification socket. This is an AF_UNIX | |
831 | datagram socket in the Linux abstract | |
832 | namespace, and is used to implement | |
833 | the daemon notification logic as | |
834 | implemented by | |
835 | <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> | |
836 | ||
837 | </varlistentry> | |
838 | ||
839 | <varlistentry> | |
840 | <term><filename>@/org/freedesktop/systemd1/logger</filename></term> | |
841 | ||
842 | <listitem><para>Used internally by the | |
843 | <filename>systemd-logger.service</filename> | |
844 | unit to connect STDOUT and/or STDERR | |
845 | of spawned processes to | |
846 | <citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry> | |
847 | or the kernel log buffer. This is an | |
848 | AF_UNIX stream socket in the Linux | |
849 | abstract namespace.</para></listitem> | |
850 | </varlistentry> | |
851 | ||
852 | <varlistentry> | |
853 | <term><filename>@/org/freedesktop/systemd1/private</filename></term> | |
854 | ||
855 | <listitem><para>Used internally as | |
856 | communication channel between | |
857 | <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> | |
858 | and the systemd process. This is an | |
859 | AF_UNIX stream socket in the Linux | |
860 | abstract namespace. This interface is | |
861 | private to systemd and should not be | |
862 | used in external | |
863 | projects.</para></listitem> | |
864 | </varlistentry> | |
865 | ||
866 | <varlistentry> | |
867 | <term><filename>/dev/initctl</filename></term> | |
868 | ||
869 | <listitem><para>Limited compatibility | |
870 | support for the SysV client interface, | |
871 | as implemented by the | |
872 | <filename>systemd-initctl.service</filename> | |
873 | unit. This is a named pipe in the file | |
874 | system. This interface is obsolete and | |
875 | should not be used in new | |
876 | applications.</para></listitem> | |
877 | </varlistentry> | |
878 | </variablelist> | |
9e632bf7 LP |
879 | </refsect1> |
880 | ||
9e632bf7 LP |
881 | <refsect1> |
882 | <title>See Also</title> | |
883 | <para> | |
7874bcd6 LP |
884 | <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
885 | <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>, | |
886 | <citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>, | |
887 | <citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>, | |
9e632bf7 | 888 | <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>, |
7874bcd6 LP |
889 | <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>, |
890 | <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
891 | <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
892 | <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> | |
9e632bf7 LP |
893 | </para> |
894 | </refsect1> | |
895 | ||
896 | </refentry> |