]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man2/reboot.2
reboot.2: tfix
[thirdparty/man-pages.git] / man2 / reboot.2
CommitLineData
fea681da
MK
1.\" Copyright (c) 1998 Andries Brouwer (aeb@cwi.nl), 24 September 1998
2.\"
93015253 3.\" %%%LICENSE_START(VERBATIM)
fea681da
MK
4.\" Permission is granted to make and distribute verbatim copies of this
5.\" manual provided the copyright notice and this permission notice are
6.\" preserved on all copies.
7.\"
8.\" Permission is granted to copy and distribute modified versions of this
9.\" manual under the conditions for verbatim copying, provided that the
10.\" entire resulting derived work is distributed under the terms of a
11.\" permission notice identical to this one.
c13182ef 12.\"
fea681da
MK
13.\" Since the Linux kernel and libraries are constantly changing, this
14.\" manual page may be incorrect or out-of-date. The author(s) assume no
15.\" responsibility for errors or omissions, or for damages resulting from
16.\" the use of the information contained herein. The author(s) may not
17.\" have taken the same level of care in the production of this manual,
18.\" which is licensed free of charge, as they might when working
19.\" professionally.
c13182ef 20.\"
fea681da
MK
21.\" Formatted or processed versions of this manual, if unaccompanied by
22.\" the source, must acknowledge the copyright and authors of this work.
4b72fb64 23.\" %%%LICENSE_END
7822805d 24.\"
c11b1abf 25.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
fea681da
MK
26.\" Added notes on capability requirements
27.\"
4cead6db 28.TH REBOOT 2 2013-12-28 "Linux" "Linux Programmer's Manual"
fea681da
MK
29.SH NAME
30reboot \- reboot or enable/disable Ctrl-Alt-Del
31.SH SYNOPSIS
e81aee2d
MK
32/* For libc4 and libc5 the library call and the system call
33 are identical, and since kernel version 2.1.30 there are
34 symbolic names LINUX_REBOOT_* for the constants and a
35 fourth argument to the call: */
fea681da
MK
36.sp
37.B #include <unistd.h>
38.br
39.B #include <linux/reboot.h>
40.sp
350d584d 41.BI "int reboot(int " magic ", int " magic2 ", int " cmd ", void *" arg );
fea681da 42.sp
e81aee2d
MK
43/* Under glibc some of the constants involved have gotten
44 symbolic names RB_*, and the library call is a 1-argument
45 wrapper around the 3-argument system call: */
fea681da
MK
46.sp
47.B #include <unistd.h>
48.br
49.B #include <sys/reboot.h>
50.sp
350d584d 51.BI "int reboot(int " cmd );
fea681da 52.SH DESCRIPTION
c13182ef 53The
e511ffb6 54.BR reboot ()
fea681da
MK
55call reboots the system, or enables/disables the reboot keystroke
56(abbreviated CAD, since the default is Ctrl-Alt-Delete;
57it can be changed using
58.BR loadkeys (1)).
59.PP
682edefb
MK
60This system call will fail (with
61.BR EINVAL )
62unless
fea681da 63.I magic
682edefb 64equals
0daa9e92 65.B LINUX_REBOOT_MAGIC1
682edefb 66(that is, 0xfee1dead) and
fea681da 67.I magic2
682edefb 68equals
0daa9e92 69.B LINUX_REBOOT_MAGIC2
682edefb
MK
70(that is, 672274793).
71However, since 2.1.17 also
0daa9e92 72.B LINUX_REBOOT_MAGIC2A
682edefb
MK
73(that is, 85072278)
74and since 2.1.97 also
0daa9e92 75.B LINUX_REBOOT_MAGIC2B
682edefb
MK
76(that is, 369367448)
77and since 2.5.71 also
0daa9e92 78.B LINUX_REBOOT_MAGIC2C
682edefb 79(that is, 537993216)
2b91ac79 80are permitted as values for
fea681da
MK
81.IR magic2 .
82(The hexadecimal values of these constants are meaningful.)
83The
350d584d 84.I cmd
fea681da
MK
85argument can have the following values:
86.TP
939fd8db 87.B LINUX_REBOOT_CMD_CAD_OFF
4cead6db
MK
88.RB ( RB_DISABLE_CAD ,
890).
939fd8db
MK
90CAD is disabled.
91This means that the CAD keystroke will cause a
92.B SIGINT
93signal to be
94sent to init (process 1), whereupon this process may decide upon a
95proper action (maybe: kill all processes, sync, reboot).
96.TP
97.B LINUX_REBOOT_CMD_CAD_ON
4cead6db
MK
98.RB ( RB_ENABLE_CAD ,
990x89abcdef).
939fd8db
MK
100CAD is enabled.
101This means that the CAD keystroke will immediately cause
102the action associated with
103.BR LINUX_REBOOT_CMD_RESTART .
fea681da
MK
104.TP
105.B LINUX_REBOOT_CMD_HALT
4cead6db
MK
106.RB ( RB_HALT_SYSTEM ,
1070xcdef0123; since Linux 1.1.76).
2d986c92 108The message "System halted." is printed, and the system is halted.
fea681da
MK
109Control is given to the ROM monitor, if there is one.
110If not preceded by a
111.BR sync (2),
112data will be lost.
113.TP
d1d5d51c 114.BR LINUX_REBOOT_CMD_KEXEC
4cead6db 115.RB ( RB_KEXEC ,
fd00f12c 1160x45584543, since Linux 2.6.13).
939fd8db
MK
117Execute a kernel that has been loaded earlier with
118.BR kexec_load (2).
33a0ccb2 119This option is available only if the kernel was configured with
939fd8db
MK
120.BR CONFIG_KEXEC .
121.TP
fea681da 122.B LINUX_REBOOT_CMD_POWER_OFF
4cead6db
MK
123.RB ( RB_POWER_OFF ,
1240x4321fedc; since Linux 2.1.30).
2d986c92 125The message "Power down." is printed, the system is stopped,
fea681da
MK
126and all power is removed from the system, if possible.
127If not preceded by a
128.BR sync (2),
129data will be lost.
130.TP
939fd8db 131.B LINUX_REBOOT_CMD_RESTART
4cead6db
MK
132.RB ( RB_AUTOBOOT ,
1330x1234567).
939fd8db
MK
134The message "Restarting system." is printed, and a default
135restart is performed immediately.
136If not preceded by a
137.BR sync (2),
138data will be lost.
139.TP
fea681da 140.B LINUX_REBOOT_CMD_RESTART2
0b23bb07 141(0xa1b2c3d4; since Linux 2.1.30).
9708eb37 142The message "Restarting system with command \(aq%s\(aq" is printed,
fea681da
MK
143and a restart (using the command string given in
144.IR arg )
145is performed immediately.
146If not preceded by a
147.BR sync (2),
148data will be lost.
2d37a960 149.TP
d3532647 150.BR LINUX_REBOOT_CMD_SW_SUSPEND
4cead6db
MK
151.RB ( RB_SW_SUSPEND ,
1520xd000fce1; since Linux 2.5.18).
2d37a960
EDB
153The system is suspended (hibernated) to disk.
154This option is available only if the kernel was configured with
155.BR CONFIG_HIBERNATION .
fea681da 156.LP
350d584d
MK
157Only the superuser may call
158.BR reboot ().
fea681da
MK
159.LP
160The precise effect of the above actions depends on the architecture.
161For the i386 architecture, the additional argument does not do
162anything at present (2.1.122), but the type of reboot can be
84c517a4 163determined by kernel command-line arguments ("reboot=...") to be
fea681da 164either warm or cold, and either hard or through the BIOS.
47297adb 165.SH RETURN VALUE
350d584d
MK
166For the values of
167.I cmd
168that stop or restart the system,
169a successful call to
170.BR reboot ()
171does not return.
172For the other
173.I cmd
174values, zero is returned on success.
175In all cases, \-1 is returned on failure, and
fea681da
MK
176.I errno
177is set appropriately.
178.SH ERRORS
179.TP
180.B EFAULT
7fac88a9 181Problem with getting user-space data under
682edefb 182.BR LINUX_REBOOT_CMD_RESTART2 .
fea681da
MK
183.TP
184.B EINVAL
350d584d 185Bad magic numbers or \fIcmd\fP.
fea681da
MK
186.TP
187.B EPERM
c13182ef 188The calling process has insufficient privilege to call
e511ffb6 189.BR reboot ();
fea681da
MK
190the
191.B CAP_SYS_BOOT
192capability is required.
47297adb 193.SH CONFORMING TO
e511ffb6 194.BR reboot ()
8382f16d 195is Linux-specific,
97c1eac8 196and should not be used in programs intended to be portable.
47297adb 197.SH SEE ALSO
fea681da
MK
198.BR sync (2),
199.BR bootparam (7),
200.BR capabilities (7),
201.BR ctrlaltdel (8),
202.BR halt (8),
203.BR reboot (8)