reboot(2) System Calls Manual reboot(2) BEZEICHNUNG reboot - Neustart oder Strg-Alt-Entf ein-/ausschalten BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT /* Seit Linux 2.1.30 gibt es die symbolischen Namen LINUX_REBOOT_* fur die Konstanten und ein viertes Argument fur den Aufruf: */ #include /* Definition der LINUX_REBOOT_*-Konstanten */ #include /* Definition der SYS_*-Konstanten */ #include int syscall(SYS_reboot, int Magik, int Magik2, int Befehl, void *Arg); /* Unter Glibc und den meisten alternativen Libcs (darunter Uclibc, Dietlibc, Musl und einigen anderen) haben einige beteiligte Konstanten symbolische RB_*-Namen bekommen und der Bibliotheksaufruf ist ein Ein-Argument-Wrapper des Systemaufrufs: */ #include /* Definition der RB_*-Konstanten */ #include int reboot(int Befehl); BESCHREIBUNG Der reboot()-Aufruf startet das System neu oder schaltet den Tastendruck fur den Neustart ein/aus (Strg-Alt-Entf, englisch CAD fur Ctrl-Alt-Delete; er kann mittels loadkeys(1) geandert werden). Dieser Systemaufruf schlagt (mit dem Fehler EINVAL) fehl, ausser wenn Magik gleich LINUX_REBOOT_MAGIC1 (0xfee1dead) und Magik2 gleich LINUX_REBOOT_MAGIC2 (0x28121969) ist. Seit Linux 2.1.17 ist jedoch auch LINUX_REBOOT_MAGIC2A (0x05121996) und seit Linux 2.1.97 ausserdem LINUX_REBOOT_MAGIC2B (0x16041998) und seit Linux 2.5.71 auch LINUX_REBOOT_MAGIC2C (0x20112000) als Wert fur Magik2 erlaubt. (Die hexadezimalen Werte dieser Konstanten haben eine Bedeutung.) Das Argument Befehl kann die folgenden Werte haben: LINUX_REBOOT_CMD_CAD_OFF (RB_DISABLE_CAD, 0). Strg-Alt-Delete wird ausgeschaltet. Dies bedeutet, dass das Tastenkurzel Strg-Alt-Delete veranlasst, dass ein SIGINT-Signal an Init (Prozess 1) gesandt wird, woraufhin dieser Prozess uber die richtige Aktion entscheidet (moglicherweise: alle Prozesse beenden, Platten synchronisieren, Neustart). LINUX_REBOOT_CMD_CAD_ON (RB_ENABLE_CAD, 0x89abcdef). Strg-Alt-Delete wird eingeschaltet. Dies bedeutet, dass das Tastenkurzel Strg-Alt-Delete sofort die mit LINUX_REBOOT_CMD_RESTART verbundene Aktion veranlassen wird. LINUX_REBOOT_CMD_HALT (RB_HALT_SYSTEM, 0xcdef0123; seit Linux 1.1.76). Die Nachricht >>System halted.<< wird ausgegeben und das System wird angehalten. Falls vorhanden, wird die Steuerung an den ROM-Monitor ubergeben. Wenn kein sync(2) vorausgeht, werden Daten verlorengehen. LINUX_REBOOT_CMD_KEXEC (RB_KEXEC, 0x45584543, since Linux 2.6.13). Einen Kernel ausfuhren, der vorher mit kexec_load(2) geladen wurde. Diese Option ist nur verfugbar, falls der Kernel mit CONFIG_KEXEC konfiguriert wurde. LINUX_REBOOT_CMD_POWER_OFF (RB_POWER_OFF, 0x4321fedc; seit Linux 2.1.30). Die Nachricht >>Power down.<< wird ausgegeben, das System wird gestoppt und jegliche Stromzufuhr unterbrochen, wenn moglich. Falls kein sync(2) vorausgeht, werden Daten verlorengehen. LINUX_REBOOT_CMD_RESTART (RB_AUTOBOOT, 0x1234567). Die Nachricht >>Restarting system.<< wird ausgegeben und es wird sofort ein Standard-Neustart ausgefuhrt. Wenn kein sync(2) vorausgeht, werden Daten verlorengehen. LINUX_REBOOT_CMD_RESTART2 (0xa1b2c3d4; seit Linux 2.1.30). Die Nachricht >>Restarting system with command '%s'<< wird ausgegeben und sofort ein Neustart ausgefuhrt (unter Verwendung der in Arg angegebenen Zeichenkette). Wenn kein sync(2) vorausgeht, werden Daten verlorengehen. LINUX_REBOOT_CMD_SW_SUSPEND (RB_SW_SUSPEND, 0xd000fce1; seit Linux 2.5.18). Einen Kernel ausfuhren, der vorher mit kexec_load(2) geladen wurde. Diese Option ist nur verfugbar, falls der Kernel mit CONFIG_KEXEC konfiguriert wurde. Nur der Superuser kann reboot() aufrufen. Die genauen Auswirkungen der vorangehenden Aktionen hangen von der Architektur ab. Fur die i386-Architektur bewirkt das zusatzliche Argument derzeit nichts (2.1.122), aber der Typ des Neustarts kann durch Kernel-Befehlszeilenargumente (>>reboot=<<) festgelegt werden, um entweder einen Warm- oder Kaltstart entweder hart oder uber das BIOS durchzufuhren. Verhalten innerhalb von PID-Namensraumen Wird reboot() in einem vom ursprunglichen PID-Namensraum verschiedenen Namensraum mit einem der nachfolgend aufgefuhrten Befehl-Werte aufgerufen, dann fuhrt es seit Linux 3.4 einen >>Neustart<< dieses Namensraumes durch: der >>init<<-Prozess des PID-Namensraums wird sofort mit den in pid_namespaces(7) beschriebenen Effekten beendet. Die Werte, die in Befehl beim Aufruf von reboot() ubergeben werden konnen, sind in diesem Fall die folgenden: LINUX_REBOOT_CMD_RESTART LINUX_REBOOT_CMD_RESTART2 Der >>init<<-Prozess wird beendet und wait(2) im Elternprozess berichtet, dass das Kind mit einem Signal SIGHUP getotet wurde. LINUX_REBOOT_CMD_POWER_OFF LINUX_REBOOT_CMD_HALT Der >>init<<-Prozess wird beendet und wait(2) im Elternprozess berichtet, dass das Kind mit einem Signal SIGINT getotet wurde. Fur andere Werte in Befehl liefert reboot() -1 zuruck und errno wird auf EINVAL gesetzt. RUCKGABEWERT Fur die Werte von Befehl, die das System stoppen oder neu starten, gibt ein erfolgreicher Aufruf von reboot() nichts zuruck. Fur die anderen Befehl-Werte wird bei Erfolg Null zuruckgegeben. Bei einem Fehler wird immer -1 zuruckgegeben und errno gesetzt, um den Fehler anzuzeigen. FEHLER EFAULT Problem bei der Abfrage von Daten aus dem Adressraum des Benutzers unter LINUX_REBOOT_CMD_RESTART2. EINVAL falsche magische Zahlen oder Befehl EPERM Der aufrufende Prozess verfugt nicht uber ausreichende Privilegien, um reboot() aufzurufen. Die Capability CAP_SYS_BOOT wird innerhalb seines Benutzernamensraums benotigt. STANDARDS Linux. SIEHE AUCH systemctl(1), systemd(1), kexec_load(2), sync(2), bootparam(7), capabilities(7), ctrlaltdel(8), halt(8), shutdown(8) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Chris Leick und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 reboot(2)