reboot(2) System Calls Manual reboot(2) NOM reboot - Redemarrer la machine, ou activer/desactiver Ctrl-Alt-Suppr. BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS /* Depuis Linux 2.1.30 du noyau, il existe des noms symboliques LINUX_REBOOT_* pour les constantes et un quatrieme argument a l'appel : */ #include /* Definition des constantes LINUX_REBOOT_* */ #include /* Definition des constantes SYS_* */ #include int syscall(SYS_reboot, int magic, int magic2, int cmd, void *arg); /* Avec glibc et la plupart des libc alternatives (comme uclibc, dietlibc, musl et quelques autres), certaines des constantes concernees ont des noms symboliques RB_*, et la fonction de bibliotheque est une enveloppe a 1 argument encapsulant l'appel systeme a 3 arguments : */ #include /* Definition des constantes RB_* */ #include int reboot(int cmd); DESCRIPTION L'appel systeme reboot() fait redemarrer le systeme, ou active/desactive la sequence de touches de redemarrage (Ctrl-Alt-Suppr par defaut mais cela peut etre modifie en utilisant loadkeys(1)). Ces touches sont abregees en CAD pour Ctrl-Alt-Del. Cet appel systeme echouera (avec EINVAL) sauf si magic vaut LINUX_REBOOT_MAGIC1 (c'est-a-dire 0xfee1dead) et si magic2 vaut LINUX_REBOOT_MAGIC2 (qui est 0x28121969). Toutefois, sont egalement autorisees pour magic2 les valeurs LINUX_REBOOT_MAGIC2A (qui vaut 0x05121996) depuis Linux 2.1.17, LINUX_REBOOT_MAGIC2B (valant 0x16041998) depuis Linux 2.1.97 et LINUX_REBOOT_MAGIC2C (valant 0x20112000) depuis Linux 2.5.71. Les valeurs hexadecimales de ces constantes ont un sens. L'argument cmd peut prendre l'une des valeurs suivantes : LINUX_REBOOT_CMD_CAD_OFF (RB_DISABLE_CAD, 0). Les touches de redemarrage Ctrl-Alt-Suppr sont desactivees. Cela signifie que la frappe de ces touches enverra un signal SIGINT au processus 1 (init). Celui-ci pourra alors decider de l'action appropriee a enclencher (generalement tuer tous les processus, demonter la plupart des systemes de fichiers, sync, et redemarrer). LINUX_REBOOT_CMD_CAD_ON (RB_ENABLE_CAD, 0x89abcdef). Les touches de redemarrage Ctrl-Alt-Suppr sont autorisees. Cela signifie que la frappe de ces touches declenchera l'action associee a LINUX_REBOOT_CMD_RESTART immediatement. LINUX_REBOOT_CMD_HALT (RB_HALT_SYSTEM, 0xcdef0123; depuis Linux 1.1.76). Le message << System halted. >> est affiche et le systeme est arrete. Le controle est transmis au moniteur en ROM s'il y en a un. Si cet appel n'est pas precede par un sync(2), des donnees seront perdues. LINUX_REBOOT_CMD_KEXEC (RB_KEXEC, 0x45584543, depuis Linux 2.6.13). Executer un noyau qui a ete prealablement charge par kexec_load(2). Cette option n'est disponible que si le noyau a ete configure avec CONFIG_KEXEC. LINUX_REBOOT_CMD_POWER_OFF (RB_POWER_OFF, 0x4321fedc; depuis 2.1.30). Le message << Power down. >> est affiche, et tout le systeme est mis hors-tension si possible. Si cet appel n'est pas precede par un sync(2), des donnees seront perdues. LINUX_REBOOT_CMD_RESTART (RB_AUTOBOOT, 0x1234567). Le message << Restarting system. >> est affiche et un redemarrage est initialise immediatement. Si cet appel n'est pas precede par un sync(2), des donnees seront perdues. LINUX_REBOOT_CMD_RESTART2 (0xa1b2c3d4; depuis Linux 2.1.30). Le message << Restarting system with command '%s' >> est affiche et un redemarrage (en utilisant la chaine de commande fournie dans arg) est enclenche immediatement. Si cet appel n'est pas precede par un sync(2), des donnees seront perdues. LINUX_REBOOT_CMD_SW_SUSPEND (RB_SW_SUSPEND, 0xd000fce1; depuis Linux 2.5.18). Le systeme est en hibernation. Cette option n'est disponible que si le noyau a ete configure avec CONFIG_HIBERNATION. Seul le superutilisateur peut appeler reboot(). L'effet exact des actions decrites ci-dessus depend de l'architecture. Pour les i386, l'argument supplementaire ne sert a rien a ce jour (2.1.22), mais le type de redemarrage peut etre selectionne par un argument en ligne de commande du noyau (<< reboot=... >>) afin d'etre un redemarrage a chaud, a froid, materiel ou par le BIOS. Comportement dans les espaces de noms des PID Depuis Linux 3.4, si reboot() est appele depuis un espace de noms de PID autre que celui d'origine avec l'une des valeurs de cmd listees ci-dessous, il effectue un << redemarrage >> de cet espace de noms : le processus << init >> de l'espace de noms du PID est immediatement arrete avec les effets decrits dans pid_namespaces(7). Les valeurs pouvant etre donnees dans cmd lors de l'appel a reboot() sont dans ce cas : LINUX_REBOOT_CMD_RESTART LINUX_REBOOT_CMD_RESTART2 Le processus << init >> est arrete et wait(2) dans le processus parent rapporte qu'un processus enfant a ete arrete avec le signal SIGHUP. LINUX_REBOOT_CMD_POWER_OFF LINUX_REBOOT_CMD_HALT Le processus << init >> est arrete et wait(2) dans le processus parent rapporte qu'un processus enfant a ete arrete avec le signal SIGINT. Pour les autres valeurs de cmd, reboot() renvoie -1 et errno est regle a EINVAL. VALEUR RENVOYEE Pour les valeurs de cmd qui arretent ou redemarrent le systeme, un appel reussi a reboot() ne rend pas la main. Pour les autres valeurs de cmd, 0 est renvoye en cas de succes. Dans tous les cas, -1 est renvoye en cas d'echec, et errno est positionnee pour preciser l'erreur. ERREURS EFAULT Probleme lors de la recuperation de donnees espace utilisateur sous LINUX_REBOOT_CMD_RESTART2. EINVAL Mauvais nombres magiques ou mauvaise valeur de cmd. EPERM Le processus appelant n'a pas les privileges suffisants pour invoquer reboot() ; l'appelant doit avoir la capacite CAP_SYS_BOOT dans son espace de noms utilisateur. STANDARDS Linux. VOIR AUSSI systemctl(1), systemd(1), kexec_load(2), sync(2), bootparam(7), capabilities(7), ctrlaltdel(8), halt(8), shutdown(8) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Thomas Vincent et Jean- Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 reboot(2)