summaryrefslogtreecommitdiff
path: root/doc/s6-linux-init-halt.html
blob: 0f6899582f68a12b103bc064d2778ed93a62628d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Language" content="en" />
    <title>s6-linux-init: the s6-linux-init-halt program</title>
    <meta name="Description" content="s6-linux-init: the s6-linux-init-halt program" />
    <meta name="Keywords" content="s6 linux init administration root utilities shutdown halt poweroff reboot" />
    <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
  </head>
<body>

<p>
<a href="index.html">s6-linux-init</a><br />
<a href="//skarnet.org/software/">Software</a><br />
<a href="//skarnet.org/">skarnet.org</a>
</p>

<h1> The <tt>s6-linux-init-halt</tt> program </h1>

<p>
<tt>s6-linux-init-halt</tt> triggers the shutdown procedure in order to
halt the system; or, with the <tt>-f</tt> option, it performs an immediate
hard shutdown.
</p>

<h2> Interface </h2>

<pre>
     s6-linux-init-halt [ -h | -p | -r ] [ -d | -w ] [ -W ] [ -f ] [ -R <em>tmpfsdir</em> ]
</pre>

<ul>
 <li> If the <tt>-f</tt> option is present, s6-linux-init-halt halts the system immediately. </li>
 <li> Else, it triggers the machine's shutdown procedure.
 <li> It exits 0. The shutdown procedure happens asynchronously. </li>
</ul>

<p>
 This interface follows the traditional <em>sysvinit</em> interface for the
<tt>halt</tt>, <tt>poweroff</tt> and <tt>reboot</tt> programs as close as possible.
</p>

<h2> Exit codes </h2>

<ul>
 <li> 0: shutdown procedure triggered. </li>
 <li> 100: wrong usage, or user does not have root privileges. </li>
 <li> 111: system call failed. </li>
</ul>

<h2> Options </h2>

<ul>
 <li> <tt>-h</tt>&nbsp;: halt. No matter the name of the command, it will order
a halt (i.e. the system will be shut down, but the power will remain up).
This is the default for <tt>s6-linux-init-halt</tt>. </li>
 <li> <tt>-p</tt>&nbsp;: poweroff. No matter the name of the command, it will order
a power off. This is the default for <tt>s6-linux-init-poweroff</tt>. </li>
 <li> <tt>-r</tt>&nbsp;: reboot. No matter the name of the command, it will order
a reboot. This is the default for <tt>s6-linux-init-reboot</tt>. </li>
 <li> <tt>-d</tt>&nbsp;: Do not write a wtmp shutdown entry. </li>
 <li> <tt>-w</tt>&nbsp;: Only write a wtmp shutdown entry; do not actually shut down
the system. </li>
 <li> <tt>-W</tt>&nbsp;: Do not send a <tt>wall</tt> message to users before shutting
down the system. Some other implementations of the <tt>halt</tt>, <tt>poweroff</tt>
and <tt>reboot</tt> commands use the <tt>--no-wall</tt> long option to achieve this. </li>
 <li> <tt>-f</tt>&nbsp;: force. The command will not trigger a clean shutdown
procedure; it will just sync the filesystems then tell the kernel to immediately
halt, poweroff or reboot. This should be the last step in the lifetime of the
machine. </li>
 <li> <tt>-R&nbsp;<em>tmpfsdir</em></tt>&nbsp;: assume that the root-only
boot-time tmpfs has been mounted on <em>tmpfsdir</em>. Default is <tt>/run</tt>.
It is important to get this right, because the contact point with the
<a href="s6-linux-init-shutdownd.html">s6-linux-init-shutdownd</a> daemon,
which manages the shutdown procedure, is located under this directory. The
<tt>halt</tt>, <tt>poweroff</tt> and <tt>reboot</tt> scripts created by a
<a href="s6-linux-init-maker.html">s6-linux-init-maker</a> invocation
automatically use the correct <tt>-R</tt> option. </li>
</ul>

<h2> Notes </h2>

<ul>
 <li> The
<a href="s6-linux-init-halt.html">s6-linux-init-halt</a>,
<a href="s6-linux-init-poweroff.html">s6-linux-init-poweroff</a>,
<a href="s6-linux-init-reboot.html">s6-linux-init-reboot</a> and
<a href="s6-linux-init-shutdown.html">s6-linux-init-shutdown</a>
binaries are not meant to be called directly by administrators.
Instead, their purpose is to be used in <tt>halt</tt>, <tt>poweroff</tt>,
<tt>reboot</tt> and <tt>shutdown</tt> scripts created by
<a href="s6-linux-init-maker.html">s6-linux-init-maker</a>; those scripts
will call them with the correct <tt>-R&nbsp;<em>tmpfsdir</em></tt> option.
The scripts should typically be linked to <tt>/sbin</tt> after
<a href="s6-linux-init-maker.html">s6-linux-init-maker</a> execution, to
provide drop-in replacements for the <em>sysvinit</em> programs with the
same names. </li>
</ul>

</body>
</html>