REBOOT(2) | Manual del Programador de Linux | REBOOT(2) |
reboot - rearranca o habilita/inhabilita Ctrl-Alt-Supr
Para libc4 y libc5 la función de biblioteca y la llamada al sistema son idénticas, y desde la versión 2.1.30 del núcleo existen nombres simbólicos LINUX_REBOOT_* para las constantes y un cuarto argumento para la llamada:
#include <unistd.h>
#include <linux/reboot.h>
int reboot (int magico, int otro_magico, int flag, void *arg);
Bajo glibc se han asignado nombres simbólicos RB_* a algunas de las contantes involucradas y la función de biblioteca es un envoltorio de 1 argumento de la llamada al sistema de 3 argumentos:
#include <unistd.h>
#include <sys/reboot.h>
int reboot (int flag);
La llamada reboot rearranca el sistema o habilita/inhabilita la pulsación de rearranque (abreviada CAS, ya que por defecto es Ctrl-Alt-Supr; se puede cambiar usando loadkeys(1)).
Esta llamada al sistema fallará (con EINVAL) a menos que magico sea igual a LINUX_REBOOT_MAGIC1 (esto es, 0xfee1dead) y otro_magico sea igual a LINUX_REBOOT_MAGIC2 (o sea, 672274793). Sin embargo, también se permiten como valores de otro_magico LINUX_REBOOT_MAGIC2A (esto es, 85072278) desde la versión 2.1.17 y LINUX_REBOOT_MAGIC2B (es decir, 369367448) desde la versión 2.1.97. (Los valores hexadecimales de estas constantes no tienen sentido.) El argumento flag puede tener los siguientes valores:
Sólo el súperusuario puede utilizar esta función.
El efecto exacto de las acciones anteriores depende de la arquitectura. Para la arquitectura i386, el argumento adicional no hace nada por el momento (2.1.122), pero el tipo de rearranque se puede determinar mediante argumentos en la línea de órdenes del núcleo (`Reboot=...') para que sea bien `en caliente', bien `en frio', y bien hardware, bien a través de la BIOS.
En caso de éxito, se devuelve 0. En caso de error, se devuelve -1 y se pone un valor apropiado en errno.
reboot es específico de Linux y no debería emplearse en programas que se pretendan transportables.
En un sistema basado en glibc, los parámetros magico y otro_magico no existen. Sólo existe el parámetro flag.
24 Septiembre 1998 | Linux 2.1.122 |