Skip to content

Instantly share code, notes, and snippets.

@mariocesar
Last active October 26, 2019 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mariocesar/6d34820c5c7fb382002282e4674c14ed to your computer and use it in GitHub Desktop.
Save mariocesar/6d34820c5c7fb382002282e4674c14ed to your computer and use it in GitHub Desktop.
Watchexec

watchexec is a simple, standalone tool that watches a path and runs a command whenever it detects modifications.

Examples

Watch all JavaScript, CSS and HTML files in the current directory and all subdirectories for changes, running make when a change is detected:

watchexec --exts js,css,html make

Call make test when any file changes in this directory/subdirectory, except for everything below target:

watchexec -i target make test

Call ls -la when any file changes in this directory/subdirectory:

watchexec -- ls -la

Call/restart python server.py when any Python file in the current directory (and all subdirectories) changes:

watchexec -e py -r python server.py

Call/restart my_server when any file in the current directory (and all subdirectories) changes, sending SIGKILL to stop the child process:

watchexec -r -s SIGKILL my_server

Send a SIGHUP to the child process upon changes (Note: with using -n | --no-shell here, we're executing my_server directly, instead of wrapping it in a shell:

watchexec -n -s SIGHUP my_server

Run make when any file changes, using the .gitignore file in the current directory to filter:

watchexec make

Run make when any file in lib or src changes:

watchexec -w lib -w src make
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment