relo automatically reruns or reloads programs when file-system events occur.
$ npm install -g relo
$ relo --help
Start relo with a set of paths to watch, followed by a command to run:
$ relo dir1 file1 -- echo hello
When file-system changes are detected in file1 or below dir1/, you'll see
hello printed.
The -- syntax is somewhat unusual, but it separates clearly any flags passed
to relo from those intended for the sub-command.
If file-system events occur while the command is still running, relo will (by
default) send SIGINT to the subprocess, wait for it to finish and restart it.
$ relo src -- bin/runserver
Depending on the server program, you may want to change how relo manages the
process. See Options, below.
Do not send an interrupt signal to the running process. Let it finish on its
own. Unless --parallel is also given, relo will wait before re-running the command.
Start the new instance of the process immediately, without waiting for the
previous process to finish. This is independent of --wait.
Send the interrupt signal to the whole process group, instead of just the
subprocess created by relo.
This is useful to reload servers launched from bash scripts, for example.
Change the signal used to stop a running process. Can be SIGHUP, SIGINT,
SIGTERM or SIGKILL. If you don't want any signal sent, use --wait.