REBOOT(2) Manuel du programmeur Linux REBOOT(2)
NOM
reboot - Redémarrer la machine, ou activer/désactiver
Ctrl-Alt-Suppr.
SYNOPSIS
Avec libc4 et libc5, la fonction de bibliothèque et
l'appel système sont identiques, et depuis la version
2.1.30 du noyau, il existe des noms symboliques
LINUX_REBOOT_* pour les constantes et un quatrième argu
ment à l'appel :
#include <unistd.h>
#include <linux/reboot.h>
int reboot (int magic, int magic2, int flag, void *
Avec glibc, certaines des constantes concernées ont des
noms symboliques RB_*, et la fonction de bibliothèque est
une coquille à 1 argument encapsulant l'appel système à 3
arguments :
#include <unistd.h>
#include <sys/reboot.h>
int reboot (int flag);
DESCRIPTION
reboot fait redémarrer le système, ou active/désactive la
séquence de touches de redémarrage (Ctrl-Alt-Suppr par
défaut mais cela peut être modifié en utilisant load
keys(1)).CestouchessontabbréviéesCADpourCtrl-Alt-Del.
Cet appel-système échouera (avec EINVAL) sauf si magic
vaut LINUX_REBOOT_MAGIC1 (c'est à dire 0xfee1dead) et si
magic2 vaut LINUX_REBOOT_MAGIC2 (qui est 672274793).
Toutefois, sont également autorisées pour magic2 les
valeurs LINUX_REBOOT_MAGIC2A (qui vaut 85072278) depuis la
version 2.1.17 du noyau et LINUX_REBOOT_MAGIC2B (valant
369367448) depuis la version 2.1.97. Les valeurs
héxadécimales de ces constantes ont un sens.
L'argument flag peut prendre l'une des valeurs suivantes :
LINUX_REBOOT_CMD_RESTART
(RB_AUTOBOOT, 0x1234567). Le message `Restarting
system.' est affiché et un redémarrage est ini
tialisé immédiatement. Si cet appel n'est pas
précédé par un sync(2), des données seront perdues.
LINUX_REBOOT_CMD_HALT
(RB_HALT_SYSTEM, 0xcdef0123; depuis 1.1.76). Le
message `System halted.' est affiché et le système
est arrêté. Le contrôle est transmis au moniteur
en ROM s'il y en a un. Si cet appel n'est pas
Linux 9 Avril 1999 1
REBOOT(2) Manuel du programmeur Linux REBOOT(2)
précédé par un sync(2), des données seront perdues.
LINUX_REBOOT_CMD_POWER_OFF
(0x4321fedc; depuis 2.1.30). Le message `Power
down.' est affiché, et tout le système est mis
hors-tension si possible. Si cet appel n'est pas
précédé par un sync(2), des données seront perdues.
LINUX_REBOOT_CMD_RESTART2
(0xa1b2c3d4; depuis 2.1.30). Le message `Restart
ing system with command '%s'' est affiché et un
redémarrage (en utilisant la chaine de commande
fournie dans arg) est enclenché immédiatement. Si
cet appel n'est pas précédé par un sync(2), des
données seront perdues.
LINUX_REBOOT_CMD_CAD_ON
(RB_ENABLE_CAD, 0x89abcdef). Les touches de
redémarrage Ctrl-Alt-Suppr sont autorisée. Ceci
signifie que la frappe de ces touches déclenchera
l'action associée à LINUX_REBOOT_CMD_RESTART
immédiatement.
LINUX_REBOOT_CMD_CAD_OFF
(RB_DISABLE_CAD, 0). Les touches de redémarrage
Ctrl-Alt-Suppr sont désactivées. Ceci signifie que
la frappe de ces touches enverra un signal SIGINT
au processus 1 (init). Celui-ci pourra alors
décider de l'action appropriée à enclencher
(généralement tuer tous les processus, démonter la
plupart des systèmes de fichiers, sync, et redémar
rer).
Evidemment, seul le Super-User peut utiliser cette fonc
tion
L'effet exact des actions décrites ci-dessus dépend de
l'architecture. Pour les i386, l'argument supplémentaire
ne sert à rien à ce jour (2.1.22), mais le type de
redémarrage peut être sélectionné par un argument en ligne
de commande du noyau (`reboot=...') afin d'être un
redémarrage à chaud, à froid, matériel ou par le bios.
VALEUR RENVOYÉE
reboot renvoie 0 s'il réussit, ou -1 s'il échoue, auquel
cas errno contient le code d'erreur.
ERREURS
EINVAL Mauvais nombres magiques ou mauvaise valeur de
flag.
EPERM reboot a été invoqué par un utilisateur normal
(pas le Super-User).
Linux 9 Avril 1999 2
REBOOT(2) Manuel du programmeur Linux REBOOT(2)
CONFORMITÉ
reboot est spécifique à Linux et ne doit pas être employé
dans des programmes conçus pour être portables
VOIR AUSSI
sync(2), bootparam(7), ctrlaltdel(8), halt(8), reboot(8)
TRADUCTION
Christophe Blaess, 1997.
Linux 9 Avril 1999 3