Is there a simple solution (using common shell utils, via a util provided by most distributions, or some simple python/… script) to restart a process when some files change?
It would be nice to simply call sth like watch -cmd "./the_process -arg" deps/*.
Update:
A simple shell script together with the proposed inotify-tools (nice!) fit my needs (works for commands w/o arguments):
#!/bin/sh
while true; do
$@ &
PID=$!
inotifywait $1
kill $PID
done
Yes, you can watch a directory via the inotify system using
inotifywaitorinotifywatchfrom the inotify-tools.inotifywaitwill exit upon detecting an event. Pass option-rto watch directories recursively. Example:inotifywait -r mydirectory.You can also specify the event to watch for instead of watching all events. To wait only for file or directory content changes use option
-e modify.