Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for reboot (redhat section 2)

REBOOT(2)						     Linux Programmer's Manual							 REBOOT(2)

reboot - reboot or enable/disable Ctrl-Alt-Del
For libc4 and libc5 the library call and the system call are identical, and since kernel version 2.1.30 there are symbolic names LINUX_REBOOT_* for the constants and a fourth argument to the call: #include <unistd.h> #include <linux/reboot.h> int reboot(int magic, int magic2, int flag, void *arg); Under glibc some of the constants involved have gotten symbolic names RB_*, and the library call is a 1-argument wrapper around the 3-argu- ment system call: #include <unistd.h> #include <sys/reboot.h> int reboot(int flag);
The reboot call reboots the system, or enables/disables the reboot keystroke (abbreviated CAD, since the default is Ctrl-Alt-Delete; it can be changed using loadkeys(1)). This system call will fail (with EINVAL) unless magic equals LINUX_REBOOT_MAGIC1 (that is, 0xfee1dead) and magic2 equals LINUX_REBOOT_MAGIC2 (that is, 672274793). However, since 2.1.17 also LINUX_REBOOT_MAGIC2A (that is, 85072278) and since 2.1.97 also LINUX_REBOOT_MAGIC2B (that is, 369367448) are permitted as value for magic2. (The hexadecimal values of these constants are meaningful.) The flag argument can have the following values: LINUX_REBOOT_CMD_RESTART (RB_AUTOBOOT, 0x1234567). The message `Restarting system.' is printed, and a default restart is performed immediately. If not pre- ceded by a sync(2), data will be lost. LINUX_REBOOT_CMD_HALT (RB_HALT_SYSTEM, 0xcdef0123; since 1.1.76). The message `System halted.' is printed, and the system is halted. Control is given to the ROM monitor, if there is one. If not preceded by a sync(2), data will be lost. LINUX_REBOOT_CMD_POWER_OFF (0x4321fedc; since 2.1.30). The message `Power down.' is printed, the system is stopped, and all power is removed from the system, if possible. If not preceded by a sync(2), data will be lost. LINUX_REBOOT_CMD_RESTART2 (0xa1b2c3d4; since 2.1.30). The message `Restarting system with command '%s'' is printed, and a restart (using the command string given in arg) is performed immediately. If not preceded by a sync(2), data will be lost. LINUX_REBOOT_CMD_CAD_ON (RB_ENABLE_CAD, 0x89abcdef). CAD is enabled. This means that the CAD keystroke will immediately cause the action associated to LINUX_REBOOT_CMD_RESTART. LINUX_REBOOT_CMD_CAD_OFF (RB_DISABLE_CAD, 0). CAD is disabled. This means that the CAD keystroke will cause a SIGINT signal to be sent to init (process 1), whereupon this process may decide upon a proper action (maybe: kill all processes, sync, reboot). Only the super-user may use this function. The precise effect of the above actions depends on the architecture. For the i386 architecture, the additional argument does not do any- thing at present (2.1.122), but the type of reboot can be determined by kernel command line arguments (`reboot=...') to be either warm or cold, and either hard or through the BIOS.
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
EINVAL Bad magic numbers or flag. EPERM A non-root user attempts to call reboot.
reboot is Linux specific, and should not be used in programs intended to be portable.
sync(2), bootparam(7), ctrlaltdel(8), halt(8), reboot(8) Linux 2.1.122 1998-09-24 REBOOT(2)