[Linux manuál]
Návod, kniha: Linux Programmer's Manual
#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-argument system call:
#include <unistd.h>
#include <sys/reboot.h>
int reboot(int flag);
reboot: restartujte nebo povolte / zakažte Ctrl-Alt-Del
Originální popis anglicky: reboot - reboot or enable/disable Ctrl-Alt-DelNávod, kniha: Linux Programmer's Manual
STRUČNĚ
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:POPIS / INSTRUKCE
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) and since 2.5.71 also LINUX_REBOOT_MAGIC2C (that is, 537993216) 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 preceded 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).
NÁVRATOVÁ HODNOTA
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.CHYBY / ERRORY
- EFAULT
- Problem with getting userspace data under LINUX_REBOOT_CMD_RESTART2.
- EINVAL
- Bad magic numbers or flag.
- EPERM
- The calling process has insufficient privilege to call reboot; the CAP_SYS_BOOT capability is required.
ODPOVÍDAJÍCÍ
reboot is Linux specific, and should not be used in programs intended to be portable.SOUVISEJÍCÍ
sync(2), bootparam(7), capabilities(7), ctrlaltdel(8), halt(8), reboot(8)| 2004-05-27 | Linux 2.6.6 |