SHUTDOWN(8)

BEZEICHNUNG
shutdown - das System herunterfahren

ÜBERSICHT
/sbin/shutdown [-akrhPHfFncqQ] [-t Sekunden] Zeit [Warnmeldung]

BESCHREIBUNG
shutdown fährt das System auf sichere Art herunter. Alle angemeldeten Benutzer werden benachrichtigt, dass das System herunterfährt und login(1) wird blockiert. Es ist möglich, das System sofort herunterzufahren oder nach einer angegebenen Verzögerung. Alle Prozesse werden zuerst mit dem Signal SIGTERM benachrichtigt, dass das System herunterfährt. Dies gibt Programmen wie vi(1) die Zeit, die bearbeitete Datei zu speichern, E-Mail- und News-Verarbeitungsprogrammen eine Möglichkeit, sich sauber zu beenden usw. shutdown erledigt seinen Auftrag, indem es dem init signalisiert und bittet, den Runlevel zu ändern. Zum Anhalten des Systems wird der Runlevel 0 verwandt, Runlevel 6 wird zum Neustart des Systems verwandt und Runlevel 1 bringt das System in einen Zustand, in dem administrative Aufgaben durchgeführt werden können; dies ist die Vorgabe, falls weder der Schalter -h noch -r an shutdown übergeben werden. Um zu sehen, welche Aktionen beim Anhalten oder Neustarten durchgeführt werden, lesen Sie die entsprechenden Einträge für diese Runlevel in der Datei /etc/inittab.

OPTIONEN

-a  Verwendet /etc/shutdown.allow.

-k  Fährt nicht wirklich herunter, sondern sendet lediglich Warnmeldungen an alle.

-r  Startet nach dem Herunterfahren neu.

-h  Hält das System nach dem Herunterfahren an oder schaltet es aus. Wird normalerweise mit den Schaltern -P oder -H verwandt, abhängig davon, ob der Rechner ausgeschaltet oder einfach das Betriebssystem angehalten werden soll.

-P  Modifikator des Schalters -h. Halt-Aktion bedeutet das Ausschalten. Muss mit dem Schalter -h verwandt werden.

-H  Modifikator des Schalters -h. Halt-Aktion bedeutet das Anhalten oder Übergeben an ein Systemstartprogramm auf Systemen, die das unterstützten. Muss mit dem Schalter -h verwandt werden. Halten wird oft dazu verwandt, den Herunterfahrprozess zu durchlaufen und die Ausgabe auf dem Bildschirm zur Fehlersuche zu belassen. Oder wenn der Benutzer möchte, dass das Betriebssystem anhält, aber der Rechner nicht ausgeschaltet werden soll. Um das System am Ende der Herunterfahrsequenz auszuschalten, verwenden Sie stattdessen den Modifikator -P.

-f  Überspringt fsck(8) beim Neustart.

-F  Erzwingt fsck(8) beim Neustart.

-n  [VERALTET] Ruft init(8) für das Herunterfahren nicht auf, sondern führt dies selbst durch. Die Verwendung dieser Option wird missbilligt und ihre Ergebnisse sind nicht immer das, was Sie erwarten.

-c  Bricht ein wartendes Herunterfahren ab. (shutdown now wartet nicht mehr.) Bei dieser Option kann natürlich kein Zeitargument mehr angegeben werden, aber Sie können eine erklärende Meldung als Argumente auf der Befehlszeile angeben, die an alle Benutzer gesandt wird.

-q  Reduziert die Anzahl an Warnungen, die shutdown anzeigt. Normalerweise zeigt shutdown alle 15 Minuten eine Warnung und dann jede Minute in den letzten 10 Minuten des Herunterzählens, bis die angegebene Zeit erreicht ist. Wenn -q angegeben ist, warnt shutdown nur in 60-Minuten-Intervallen bis zur 10-Minuten-Grenze, bei der 5-Minuten-Grenze und wenn das Herunterfahren tatsächlich passiert.

-Q  Reduziert die Warnungen vor dem Herunterfahren. Normalerweise zeigt shutdown alle 15 Minuten und dann jede Minute in den letzten 10 Minuten beim Herunterzählen, bis die angegebene Zeit erreicht wurde, Warnungen an. Wenn -Q angegeben wurde, dann warnt shutdown nur, wenn der Herunterfahrprozess tatsächlich passiert. Alle anderen Warnungsintervalle werden unterdrückt.

-t Sekunden
    Weist init(8) ab, Sekunden zwischen dem Senden der Warnung (SIGTERM) und dem Tötensignal (SIGKILL) zu warten, bevor in einen anderen Runlevel gewechselt wird. Die Standardzeit zwischen diesen zwei Signalen, falls kein Wert angegeben wird, ist drei Sekunden. Warnung: Wenn shutdown init(8) zur Durchführung des Herunterfahrens aufruft (das Vorgabeverhalten), prüft init(8), ob sich alle Prozesse beendet haben und beendet dieses Warten frühzeitig, sobald sich alle Kindprozesse beendet haben. Wenn shutdown mit dem Schalter -n aufgerufen wird, wartet es vollständig die angegebene Zeit (oder drei Sekunden), selbst falls sich alle Prozesse beendet haben.

Zeit
    Gibt den Zeitpunkt des Herunterfahrens an.

Warnmeldung
    Gibt die an alle Benutzer zu sendende Meldung an.

Das Argument Zeit kann in verschiedenen Formaten angegeben werden. Zuerst kann es eine absolute Zeit im Format hh:mm sein, wobei hh die Stunde (mit einer oder zwei Ziffern) und mm die Minute der Stunde ist (zwei Ziffern). Zweitens kann sie im Format +m vorliegen, wobei m die Anzahl der zu wartenden Minuten ist. Drittens kann sie im Format +hh:mm angegeben werden, wobei hh:mm die Anzahl der zu wartenden Stunden und Minuten ist. Das Wort now ist ein Alias für +0.

Falls shutdown mit einer Verzögerung aufgerufen wird, dann erstellt es die Hinweisdatei /etc/nologin. Diese führt bei Programmen wie login(1) dazu, dass keine neuen Benutzeranmeldungen mehr möglich sind. Diese Datei wird fünf Minuten vor Beginn der Herunterfahrsequenz angelegt. shutdown entfernt diese Datei, falls es vor dem Signalisieren von init(8) beendet wird (d.h. es abgebrochen wurde oder irgendetwas schief lief). Es entfernt sie auch, bevor init(8) zum Ändern des Runlevels aufgerufen wird.

Der Schalter -f bedeutet »schneller Neustart«. Dies erstellt nur eine Hinweisdatei /fastboot, die vom System überprüft werden kann, wenn es wieder hochkommt. Die Systemstart-Rc-Dateien (Konfigurationsdateien) können prüfen, ob diese Datei vorhanden ist und entscheiden, fsck(8) nicht auszuführen, da das System korrekt heruntergefahren wurde. Danach sollte der Systemstartprozess /fastboot entfernen.

Der Schalter -F bedeutet »Fsck erzwingen« (Dateisystemüberprüfung erzwingen)). Dies erstellt nur eine Hinweisdatei /forcefsck, die vom System überprüft werden kann, wenn es wieder hochkommt. Die Systemstart-Rc-Dateien (Konfigurationsdateien) können prüfen, ob diese Datei vorhanden ist und entscheiden, fsck(8) mit einem besonderen »force«- (Zwingen-)Schalter aufzurufen, so dass selbst korrekt ausgehängte Dateisysteme überprüft werden. Danach sollte der Systemstartprozess /forcefsck entfernen.

Der Schalter -n veranlasst shutdown, init(8) nicht aufzurufen, sondern alle laufenden Prozesse selbst zu beenden. Dann wird shutdown die Kontigentierung, Buchführung und das Auslagern beenden und alle Dateisysteme aushängen.

ZUGRIFFSKONTROLLE
shutdown kann von init(8) aufgerufen werden, wenn die magische Tastenkombination STRG-ALT-ENTF gedrückt wird, indem ein geeigneter Eintrag in /etc/inittab erstellt wird. Das bedeutet, dass jeder, der physischen Zugriff auf die Tastatur an der Konsole hat, das System herunterfahren kann. Um dies zu vermeiden, kann shutdown prüfen, ob ein autorisiert Benutzer an einer der virtuellen Konsolen angemeldet ist. Falls shutdown mit dem Argument -a aufgerufen wird (fügen Sie dies zum Aufruf von Shutdown in /etc/inittab hinzu), dann prüft es, ob die Datei /etc/shutdown.allow vorhanden ist. Es kann dann die Anmeldenamen in der Datei mit der Liste der auf einer virtuellen Konsole angemeldeten Leute vergleichen (aus /var/run/utmp). Nur wenn einer dieser autorisiert Benutzer oder root angemeldet ist, wird es fortfahren. Andernfalls gibt es die Meldung

shutdown: no authorized users logged in

auf der (physischen) Systemkonsole aus. Das Format von /etc/shutdown.allow ist ein Benutzername pro Zeile. Leere Zeilen und Kommentarzeilen (denen ein # vorangestellt ist) sind erlaubt. Derzeit ist die Datei auf 32 Benutzer beschränkt.

Beachten Sie, dass das Argument -a ignoriert wird, falls /etc/shutdown.allow nicht vorhanden ist.

ANHALTEN ODER AUSSCHALTEN
Die Option -H setzt nur die Umgebungsvariable INIT_HALT von init auf HALT und die Option -P setzt diese Variable auf POWEROFF. Das Skript (normalerweise /etc/init.d/halt), das das Programm halt(8) als letzte Sache in der Herunterfahrsequenz aufruft, sollte diese Umgebungsvariable prüfen und dann das Programm halt(8) mit den richtigen Optionen aufrufen, damit diese Optionen tatsächlich wirksam werden.

DATEIEN
/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow

ANMERKUNGEN
Viele Benutzer vergessen, das Argument Zeit anzugeben und sind dann von der Fehlermeldung von shutdown irritiert. Das Argument Zeit ist verpflichtend: in 90% aller Fälle wird das Argument das Wort now sein.

init(8) kann nur im Konsolen-Modus STRG-ALT-ENTF abfangen und shutdown starten. Falls auf dem System das X-Window-System läuft, verarbeitet der X-Server alle Tastatureingaben. Einige X-Umgebungen ermöglichen es, STRG-ALT-ENTF abzufangen, aber was dann genau passiert, hängt von der Umgebung ab.

shutdown wurde nicht für die Setuid-Berechtigung entwickelt. /etc/shutdown.allow findet nicht heraus, wer Shutdown ausführt, es prüft nur, wer derzeit auf einer der Konsolen angemeldet ist.

AUTOR
Miquel van Smoorenburg (miquels@cistron.nl)

SIEHE AUCH
fsck(8), init(8), halt(8), poweroff(8), reboot(8)