DOKK / manpages / debian 12 / watchman / watchman.1.en
watchman(1) watchman watchman(1)

watchman - a file watching service

watchman [--OPTION ...] COMMAND

watchman can recursively watch one or more directory trees (also referred to as roots). Watchman does not follow symlinks; it knows they exist, but they show up the same as any other file in its reporting and it will wait for a root to settle down before it will start to trigger notifications or command execution. Watchman is conservative, preferring to err on the side of caution; it considers files to be freshly changed when you start to watch them or when it is unsure. You can query a root for file changes since you last checked, or the current state of the tree. Watchman allows you to subscribe to file changes that occur in a root.

The following example establishes a watch on a source directory and then sets up a trigger named buildme that will run a tool named minify-css whenever a CSS file is changed. The tool will be passed a list of the changed filenames.

watchman watch ~/src

the single quotes around '*.css' are important:

watchman -- trigger ~/src buildme '*.css' -- minify-css

The output for buildme will land in the Watchman log file unless you send it somewhere else. To use

OPTIONS

-h, --help

Show this help

--inetd

Spawning from an inetd style supervisor

-v, --version

Show version number

-U, --sockname=PATH

Specify alternate sockname

-o, --logfile=PATH

Specify path to logfile

--log-level

set the log level (0 = off, default is 1, verbose = 2)

--pidfile=PATH

Specify path to pidfile

-p, --persistent

Persist and wait for further responses

-n, --no-save-state

Don't save state between invocations

--statefile=PATH

Specify path to file to hold watch and trigger state

-j, --json-command

Instead of parsing CLI arguments, take a single json object from stdin

--output-encoding=ARG

CLI output encoding. json (default) or bser

--server-encoding=ARG

CLI<->server encoding. bser (default) or json

-f, --foreground

Run the service in the foreground

--no-pretty

Don't pretty print JSON

--no-spawn

Don't try to start the service if it is not available

--no-local

When no-spawn is enabled, don't try to handle request in client mode if service is unavailable

AVAILABLE COMMANDS


clock
debug-ageout
debug-contenthash
debug-drop-privs
debug-get-subscriptions
debug-poison
debug-recrawl
debug-set-subscriptions-paused
debug-show-cursors
find
flush-subscriptions
get-config
get-pid
get-sockname
list-capabilities
log
log-level
query
shutdown-server
since
state-enter
state-leave
subscribe
trigger
trigger-del
trigger-list
unsubscribe
version
watch
watch-del
watch-del-all
watch-list
watch-project

watchman-wait(1), watchman-make(1)

For more information, please refer the online documentation

8 Oct 2019 Linux