Watch (command)

{{Short description|GNU command-line tool}}

{{lowercase|title=watch (Unix)}}

{{Infobox software

| name = watch

| logo =

| screenshot =

| screenshot size =

| caption =

| author = Tony Rems

| developer = Francois Pinard,
Mike Coleman,
Albert Cahalan,
Morty Abzug,
Jarrod Lowe

| released = {{Start date and age|1991}}

| latest release version =

| latest release date =

| repo = {{URL|https://gitlab.com/procps-ng/procps}}

| operating system = Unix-like

| genre = Command

| license = GPLv2.1+

| website =

}}

watch is a command-line tool, part of the Linux {{mono|procps}} and {{mono|procps-ng}} packages, that runs the specified command repeatedly and displays the results on standard output so the user 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, it may be necessary to encase it in quotes for it to run correctly.

Syntax

watch [options] command [command options]

Example

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, such as 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

  • -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