WATCH(1) | General Commands Manual | 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.
19. Juli 2024 | procps-ng |