Provided by: manpages-de-dev_1.11-1_all bug

BEZEICHNUNG

       reboot - Neustart oder Strg-Alt-Entf ein-/ausschalten

ÜBERSICHT

       /* Für Libc4 und Libc5 sind der Bibliotheks- und der Systemaufruf
          identisch. Seit Kernel-Version 2.1.30 gibt es die symbolischen
          Namen LINUX_REBOOT_* für die Konstanten und ein viertes
          Argument für den Aufruf: */

       #include <unistd.h>
       #include <linux/reboot.h>

       int reboot(int magic, int magic2, int cmd, void *arg);

       /* Unter Glibc und der meisten alternativen Libcs (darunter Uclibc,
          Dietlibc, Musl und einige andere) haben einige beteiligte Konstanten
          symbolische RB_*-Namen bekommen und der Bibliotheksaufruf ist ein
          Ein-Argument-Wrapper für die drei Argumente des Systemaufrufs: */

       #include <unistd.h>
       #include <sys/reboot.h>

       int reboot(int cmd);

BESCHREIBUNG

       Der  reboot()-Aufruf startet das System neu oder schaltet den Tastendruck für den Neustart
       ein/aus (Strg-Alt-Entf, englisch CAD für  Ctrl-Alt-Delete;  er  kann  mittels  loadkeys(1)
       geändert werden).

       Dieser   Systemaufruf   wird   (mit   EINVAL)   fehlschlagen,   außer  wenn  magic  gleich
       LINUX_REBOOT_MAGIC1 (0xfee1dead) und magic2 gleich  LINUX_REBOOT_MAGIC2  (672274793)  ist.
       Seit  2.1.17  ist  jedoch  auch  LINUX_REBOOT_MAGIC2A  (85072278) und seit 2.1.97 außerdem
       LINUX_REBOOT_MAGIC2B (369367448) und seit 2.5.71 auch LINUX_REBOOT_MAGIC2C (537993216) als
       Wert für magic2 erlaubt. (Die hexadezimalen Werte dieser Konstanten haben eine Bedeutung.)

       Das Argument cmd kann die folgenden Werte haben:

       LINUX_REBOOT_CMD_CAD_OFF
              (RB_DISABLE_CAD,  0).  Strg-Alt-Delete  wird ausgeschaltet. Dies bedeutet, dass das
              Tastenkürzel Strg-Alt-Delete veranlasst, dass ein SIGINT-Signal an Init (Prozess 1)
              gesandt  wird,  woraufhin  dieser  Prozess  über  die  richtige  Aktion entscheidet
              (möglicherweise: alle Prozesse beenden, Platten synchronisieren, Neustart).

       LINUX_REBOOT_CMD_CAD_ON
              (RB_ENABLE_CAD, 0x89abcdef). Strg-Alt-Delete  wird  eingeschaltet.  Dies  bedeutet,
              dass  das  Tastenkürzel  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  übergeben.  Wenn  kein  sync(2)  vorausgeht,   werden   Daten
              verlorengehen.

       LINUX_REBOOT_CMD_KEXEC
              (RB_KEXEC,  0x45584543, since Linux 2.6.13). Einen Kernel ausführen, der vorher mit
              kexec_load(2) geladen wurde. Diese Option ist nur verfügbar, 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
              möglich. 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 ausgeführt. 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 ausgeführt (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 ausführen, der  vorher
              mit  kexec_load(2)  geladen wurde. Diese Option ist nur verfügbar, falls der Kernel
              mit CONFIG_KEXEC konfiguriert wurde.

       Nur der Superuser kann reboot() aufrufen.

       Die genauen Auswirkungen der vorangehenden Aktionen hängen von der Architektur ab. Für die
       i386-Architektur  bewirkt  das zusätzliche 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 über das BIOS durchzuführen.

   Verhalten innerhalb von PID-Namensräumen
       Seit   Linux  3.4  bewirkt  dieser  Aufruf,  wenn  reboot()  von  einem  anderen  als  dem
       ursprünglichen PID-Namensraum (siehe pid_namespaces(7)) aufgerufen wurde, dass ein  Signal
       an den »init«-Prozess gesandt wird. LINUX_REBOOT_CMD_RESTART und LINUX_REBOOT_CMD_RESTART2
       bewirken,  dass   ein   SIGHUP-Signal   gesandt   wird,   LINUX_REBOOT_CMD_POWER_OFF   und
       LINUX_REBOOT_CMD_HALT führen zu einem SIGINT-Signal.

RÜCKGABEWERT

       Für  die  Werte  von  cmd, die das System stoppen oder neu starten, gibt ein erfolgreicher
       Aufruf von reboot() nichts  zurück.  Für  die  anderen  cmd-Werte  wird  bei  Erfolg  Null
       zurückgegeben.  Bei  einem  Fehler  wird  immer  -1  zurückgegeben  und errno entsprechend
       gesetzt.

FEHLER

       EFAULT Problem  bei  der  Abfrage  von  Daten  aus  dem  Adressraum  des  Benutzers  unter
              LINUX_REBOOT_CMD_RESTART2.

       EINVAL falsche magische Zahlen oder cmd

       EPERM  Der  aufrufende  Prozess  verfügt  nicht über ausreichende Privilegien, um reboot()
              aufzurufen. Die Capability CAP_SYS_BOOT wird benötigt.

KONFORM ZU

       reboot() ist Linux-spezifisch und sollte nicht in portierbaren Programmen benutzt werden.

SIEHE AUCH

       kexec_load(2), sync(2), bootparam(7), capabilities(7), ctrlaltdel(8), halt(8), reboot(8)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  4.04  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite finden sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Chris  Leick  <c.leick@vollbio.de>
       erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version  3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE   HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.