watch — kör ett program periodiskt och visa utdata i
helskärm
watch [
options]
command
watch kör
kommando upprepade gånger, och visar dess
utmatning och fel (den första skärmen). Detta gör att du
kan se programmets utdata ändras över tiden. Som standard
körs
kommando varannan sekund och
watch körs tills
det avbryts.
-
-d, --differences[=permanent]
- Markera skillnaderna mellan påföljande
uppdateringar. Om det valfria argumentet permanent anges kommer
watch visa alla ändringar sedan den första
iterationen.
-
-n, --interval seconds
- Ange uppdateringsintervall. Kommandot kommer inte
tillåta snabbare uppdateringar än 0,1 sekunders intervall,
då mindre värden kommer konverteras. Både
”.” och ”,” fungerar för alla lokaler.
Miljövariabeln WATCH_INTERVAL kan användas för att
sätta ett bestående annat intervall än standard (och
följer samma regler och formatering).
-
-p, --precise
- Gör att watch försöker
köra kommando var --interval sekund. Prova det
med ntptime (om tillgängligt) och notera hur delarna av
sekunden är (nästan) desamma, till skillnad mot det normala
läget då de ökar kontinuerligt.
-
-t, --no-title
- Slå av huvudet som visar intervallet, kommandot och
aktuell tid längst upp på skärmen, liksom den
följande tomma raden.
-
-b, --beep
- Pip om kommandot har en slutstatus skild från
noll.
-
-e, --errexit
- Frys uppdateringar vid kommandofel, och avsluta efter en
tangenttryckning.
-
-g, --chgexit
- Avsluta när utdata från kommando
ändras.
-
-q, --equexit <cycles>
- Exit when output of command does not change for the
given number of cycles.
-
-c, --color
- Tolka ANSI:s färg- och stilsekvenser.
-
-x, --exec
- Skicka kommando till exec(2) istället
för sh -c vilket reducerar behovet av extra citationstecken
för att få den önskade effekten.
-
-w, --no-wrap
- Slå av radbrytning. Långa rader kommer huggas
av istället för att brytas till nästa rad.
-
-h, --help
- Visa hjälptext och avsluta.
-
-v, --version
- Visa versionsinformation och avsluta.
- 0
- Gick bra.
- 1
- Diverse fel.
- 2
- Att grena av processen att övervaka
misslyckades.
- 3
- Att ersätta en barnprocess standard ut med
skrivsidan av ett rör misslyckades.
- 4
- Kommandokörningen misslyckades.
- 5
- Att stänga barnprocessens skrivrör
misslyckades.
- 7
- Att skapa ett IPC-rör misslyckades.
- 8
- Att få reda på barnprocessens
returvärde med waitpid(2) misslyckades, eller kommandot gav
upp vid ett fel.
- övriga
- Watch kommer skicka vidare kommandots slutstatus som
barnets slutstatus.
Beteendet hos
watch påverkas av följande
miljövariabler.
- WATCH_INTERVAL
- Uppdateringsintervall, följer samma regler som
kommandoradsflaggan --interval.
POSIX flagghantering används (d.v.s., flaggbearbetning slutar vid det
första argumentet som inte är en flagga). Detta betyder att
flaggor efter
kommando inte tolkas av
watch självt.
När storleken på terminalen ändras kommer inte
skärmen ritas om korrekt förrän nästa schemalagda
uppdatering. All markering med
--differences går också
förlorade vid den uppdateringen.
Icke skrivbara tecken tas bort från programs utdata. Använd
cat
-v som en del av kommandoröret om du vill se dem.
Kombinerande tecken som är tänkta att visas som tecknet i sista
kolumnen på skärmen kan komma att visas en kolumn för
tidigt, eller kan komma att inte visas alls.
Kombinerande tecken räknas aldrig som olika i läget
--differences. Endast grundtecknet räknas.
Tomma rader direkt efter en rad som slutar i sista kolumnen visas inte.
Läget
--precise har inte ännu avancerad temporal
distorsionsteknik för att kompensera för ett
kommando som
tar mer än
--intervall sekunder att köra.
watch kan också hamna i ett läge där det i snabb
följd kör så många exekveringar det kan av
kommando för att komma ifatt efter en tidigare körning
som varit längre än
--interval (till exempel om
netstat tar evigheter för att göra en DNS-uppslagning).
För att titta efter post skulle du kunna göra
- watch -n 60 from
För att se innehållet i en katalog ändras kan du
använda
- watch -d ls -l
Om du bara är intresserad av filer som ägs av användaren
kalle skulle du kunna använda
- watch -d 'ls -l | fgrep kalle'
För att se effekterna av att citera, prova dessa
- watch echo $$
watch echo '$$'
watch echo "'"'$$'"'"
För att se effekten av att hålla tiden med precision, prova att
lägga till
-p till
- watch -n 10 sleep 1
Du kan se om din administratör installerar den senaste kärnan med
- watch uname -r
(Observera att
-p inte är garanterat att fungera över en
omstart, särskilt med hänsyn till
ntpdate eller andra
mekanismer som ändrar tiden under uppstart)