watch (Unix)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

watch is a GNU command-line tool that runs the specified command repeatedly and displays the output on stdout so you can watch it change over time. By default, the command is run every two seconds, although this is adjustable with the -n secs argument. Since the command is passed to sh -c, you may need to encase it in quotes for it to run correctly.

Syntax[edit]

watch [options] command [command options]

Example[edit]

watch "ps -e | grep php"

This will generate a list of processes every two seconds, filter for all lines that contain the word "php", and display the results on the screen. The output might look something like this:

Every 2s: ps -e | grep php                             Tue Jan 30 14:56:33 2007

reconst  30028  0.0  0.0  7044 2596 ?        S    Jan23   0:00 vim -r core/html_api.php
cinonet  28009  0.0  0.2 20708 11064 ?       SN   Jan25   0:30 php5.cgi
donoiz   23810  0.0  0.2 22740 10996 ?       SN   Jan27   0:30 php.cgi 43/pdf

The watch command is useful for viewing changes over time, like repeatedly running the ls -l command to watch a file's size change, or running ps as in the above example to monitor certain processes continuously.

Arguments[edit]

  • -d – Highlights differences between iterations
  • -h – Displays a help message, then exits
  • -n secs – Specifies the interval between executions of the command in seconds
  • -t – Tells watch not to display the header
  • -v – Prints version information, then exits

See also[edit]

External links[edit]

  • watch(1): execute a program periodically, showing output fullscreen – Linux User Commands Manual