WATCH(1)

BEZEICHNUNG
watch - ein Programm periodisch ausführen, die Ausgabe im Vollbildmodus anzeigen

ÜBERSICHT
watch [Option ...] Befehl

BESCHREIBUNG
watch führt den Befehl wiederholt aus, wobei dessen Ausgabe und Fehler angezeigt werden (der erste Bildschirminhalt). Dies ermöglicht Ihnen die Überwachung der Änderungen der Programmausgaben über längere Zeit. Standardmäßig wird der Befehl alle zwei Sekunden ausgeführt und watch läuft, bis es unterbrochen wird. Eine Kopfzeile informiert über die Start- und verstrichene Zeit des Befehls sowie über dessen Exit-Code.

OPTIONEN

-b, --beep
    lässt die Systemglocke ertönen, falls ein Befehl sich mit einem von Null verschiedenen Rückgabewert beendet.

-c, --color
    interpretiert ANSI-Farb- und -Stilsequenzen.

-C, --no-color
    interpretiert keine ANSI-Farb- und -Stilsequenzen.

-d, --differences[=permanent]
    hebt die Unterschiede zwischen aufeinander folgenden Aktualisierungen hervor. Falls das optionale Argument permanent angegeben ist, dann zeigt watch alles, was sich seit dem ersten Durchlauf mindestens einmal geändert hat.

-e, --errexit
    unterbricht die Aktualisierungen nach einem Fehler des Befehls und beendet nach einem Tastendruck. Der Exit-Code von watch ist der des Befehls, mit dem es beendet wird. Falls das Signal n Ursache der Beendigung des Befehls ist, dann wird der Exit-Code 128 + n sein.

-g, --chgexit
    beendet, sobald die sich die visuelle Ausgabe des Befehls ändert. Änderungen, die aufgrund eines zu kleinen Bildschirms oder einer zu großen Ausgabe nicht sichtbar sind, werden hierbei von watch nicht erfasst und führen nicht zum Beenden.

-n, --interval Sekunden
    gibt das Aktualisierungsintervall an. Werte kleiner als 0.1 und größer als 2678400 (31 Tage) werden in die entsprechenden Grenzen umgewandelt. In allen Locales funktionieren sowohl »,« als auch ».«. Mit der Umgebungsvariable WATCH_INTERVAL können Sie ein Nicht-Standard-Intervall dauerhaft setzen (den gleichen Regeln und der gleichen Formatierung folgend).

-p, --precise
    führt den Befehl im durch --interval angegebenen Intervall in Sekunden aus, nachdem der vorherige Durchlauf gestartet ist, anstelle in Sekunden, nachdem der vorherige Durchlauf beendet wurde. Falls die Ausführung des Befehls mehr als die angegebenen Sekunden benötigt, wird in jedem Fall darauf gewartet.

-q, --equexit <Durchläufe>
    beendet, wenn sich die Ausgabe des Befehls über die angegebene Anzahl durchläufe nicht ändert.

-r, --no-rerun
    führt das Programm bei Änderungen der Terminalgröße nicht erneut aus; die Ausgabe des Programms erscheint wieder zum nächsten regulären Ausführungszeitpunkt.

-s, --shotsdir
    gibt das Verzeichnis an, in welchem Bildschirmaufnahmen gespeichert werden sollen.

-t, --no-title
    unterdrückt die Anzeige der Kopfzeile, die normalerweise am oberen Rand des Bildschirms angezeigt wird.

-w, --no-wrap
    deaktiviert den Zeilenumbruch. Lange Zeilen werden gekürzt, anstatt sie in die nächste Zeile umzubrechen.

-x, --exec
    übergibt den Befehl den exec(3)-Aufruf anstatt sh -c. Das Programm startet ein wenig schneller. Shell-Funktionsmerkmale (Einrichtung der Umgebung, Variablen- und Pfadnamenexpansion usw.) werden nicht verfügbar sein.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-v, --version
    zeigt Versionsinformationen an und beendet das Programm.

TASTATURSTEUERUNG

Leertaste
    führt den Befehl direkt aus. Falls die Befehlsausführung bereits läuft, wird diese nicht unterbrochen und dessen nächste Runde ohne Verzögerung gestartet.

q   beendet watch. Derzeit unterbricht es nicht die Ausführung eines laufenden Befehls (im Gegensatz zu terminierenden Signalen, wie SIGKILL, das durch Strg+C ausgelöst wird).

s   nimmt ein Bildschirmfoto auf. Es wird im aktuellen Verzeichnis gespeichert; wahlweise kann das Verzeichnis mit --shotsdir angegeben werden. Falls der Befehl momentan ausgeführt wird, dann wird das Bildschirmfoto aufgenommen, sobald er beendet ist.

EXIT-STATUS

0   Erfolg. Repräsentiert nicht den Exit-Code des Befehls.

1   Fehler, die sich nicht auf die Ausführung des Befehls beziehen.

2   Auf die Ausführung und das Management des Befehls bezogene Fehler (nicht dessen Exit-Code).

alles von 0 verschiedene (--errexit)
    Mit --errexit wird der letzte Exit-Code des Befehls zurückgegeben.

UMGEBUNGSVARIABLEN
Das Verhalten von watch wird durch die folgenden Umgebungsvariablen beeinflusst.

WATCH_INTERVAL
    Aktualisierungsintervall, welches den gleichen Regeln wie die Befehlszeilenoption --interval folgt.

COLUMNS
    Zeichenbreite des Terminalbildschirms. Wird verwendet, um die automatische Erkennung außer Kraft zu setzen.

LINES
    Zeichenhöhe des Terminalbildschirms. Wird verwendet, um die automatische Erkennung außer Kraft zu setzen.

ANMERKUNGEN
Die Optionen werden gemäß POSIX verarbeitet (das heißt, die Optionsverarbeitung stoppt nach dem ersten Argument, das keine Option ist). Das bedeutet, dass Schalter nach dem Befehl nicht von watch selbst interpretiert werden.

Nicht darstellbare Zeichen werden aus der Programmausgabe entfernt. Verwenden Sie cat -v als Teil der Befehls-Pipeline, wenn Sie diese sehen wollen.

BEISPIELE

Den Inhalt eines Verzeichnisses auf Änderungen überwachen:

    watch -d ls -l

Falls Ihr Rechner über Prozessoren mit dynamischer Frequenzanpassung verfügt und Sie die Änderungen überwachen wollen, könnten Sie dies mit folgendem Befehl tun. Der Befehl wird an die Shell übergeben, wodurch Sie eine Pipe erzeugen können. Die Zitatzeichen sind ein Funktionsmerkmal der Shell.

    watch -n1 'grep "^cpu MHz" /proc/cpuinfo | sort -nrk4'

Um den Status Ihrer Server zu überwachen und dabei eine Kopie der Ausgabe jedes Durchlaufs in einer Datei zu speichern, könnten Sie dies verwenden. Mit der Option -p wird der Befehl alle 10 Sekunden ausgeführt, unabhängig davon, wie viel Zeit für den vorherigen Durchlauf benötigt wurde.

    watch -n10 -p -d '{ date; for i in 10.0.0.31 10.0.0.32 10.0.0.33; do R=OK; ping -c2 -W2 "$i" &>/dev/null || R=FAIL; echo "$i: $R"; done } | tee -a ~/log'

Beobachten, wenn Ihr Administrator den neuesten Kernel installiert:

    watch uname -r

FEHLER
Wenn sich die Dimensionen des Terminals ändern, werden dessen Inhaltsänderungen für den nächsten Durchlauf des Befehls nicht berücksichtigt. --chgexit löst diesen Durchlauf nicht aus und der Zähler von --equexit startet nicht neu, selbst wenn sich die Ausgabe des Befehls zwischenzeitlich geändert hat. Die Hervorhebung mit --differences wird zurückgesetzt.

FEHLER MELDEN
Bitte schicken Sie Fehlermeldungen (auf Englisch) an procps@freelists.org.