execute a program periodically, showing output
runs command repeatedly, displaying its output and
errors (the first screenfull). This allows you to watch the
program output change over time. By default, the program is
run every 2 seconds. By default, watch will run until
Highlight the differences
between successive updates. Option will read optional
argument that changes highlight to be permanent, allowing to
see what has changed at least once since first
Specify update interval. The
command will not allow quicker than 0.1 second interval, in
which the smaller values are converted.
Make watch attempt to
run command every interval seconds. Try it
with ntptime and notice how the fractional seconds
stays (nearly) the same, as opposed to normal mode where
they continuously increase.
Turn off the header showing the
interval, command, and current time at the top of the
display, as well as the following blank line.
Beep if command has a non-zero
Freeze updates on command
error, and exit after a key press.
Exit when the output of
Interpret ANSI color and style
command is given to
sh −c which means that you may need to use
extra quoting to get the desired effect. This with the
−−exec option, which passes the command to
Display help text and exit.
Display version information and
Note that POSIX
option processing is used (i.e., option processing stops at
the first non−option argument). This means that flags
after command don’t get interpreted by
To watch for
mail, you might do
To watch the
contents of a directory change, you could use
only interested in files owned by user joe, you might
’ls −l | fgrep joe’
To see the
effects of quoting, try these out
watch echo $$
watch echo ’$$’
To see the
effect of precision time keeping, try adding −p
10 sleep 1
You can watch
for your administrator to install the latest kernel with
−p isn’t guaranteed to work across
reboots, especially in the face of ntpdate or other
bootup time-changing mechanisms)
resize, the screen will not be correctly repainted until the
next scheduled update. All −−differences
highlighting is lost on that update as well.
characters are stripped from program output. Use "cat
-v" as part of the command pipeline if you want to see
Characters that are supposed to display on the character at
the last column on the screen may display one column early,
or they may not display at all.
Characters never count as different in
−−differences mode. Only the base
directly after a line which ends in the last column do not
mode doesn’t yet have advanced temporal distortion
technology to compensate for a command that takes
more than interval seconds to execute. watch
also can get into a state where it rapid-fires as many
executions of command as it can to catch up from a
previous executions running longer than interval (for
example, netstat taking ages on a DNS lookup).
Forking the process to watch failed.
Replacing child process stdout with write side pipe
Command execution failed.
Closing child process write pipe failed.
IPC pipe creation failed.
Getting child process return value with
waitpid(2) failed, or command exited up on error.
The watch will propagate command exit status as child
The original watch was
written by Tony Rems in
1991, with mods and corrections by Francois Pinard. It was
reworked and new features added by
Mike Coleman in 1999. The beep,
exec, and error handling features were added by
Morty Abzug in 2008. On a not
so dark and stormy morning in March of 2003,
Anthony DeRobertis got
sick of his watches that should update every minute
eventually updating many seconds after the minute started,
and added microsecond precision. Unicode support was added
in 2009 by Jarrod Lowe