Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm aware about inotifywait/inotifywatch from inotify-tools, about entr ( and that dozen of shell scripts around, but they are not what I need.

What I need is something similar to guard (

They way it works: you create a file in a directory that specifies what to monitor and what to do when those files change.

Guard is ok, but it is 1) resource consumptive (and on large projects its slow), 2) requires whole Ruby + bunch of dependency gems, 3) requires plugin to run shell commands.

There's also tup ( and it is freaking awesome except one extremely stupid limitation: it can't output to directories other than the one where Tupfile is. Its way is to create a Tupfile in each subdirectory and that doesn't work for me.

What I want in the end: I specify file patterns and directories (if no, then watch all) in some file, run some command and it monitors stuff matching given rules, whenever files change / add it executes given commands. Thats it.

Any suggestions?

share|improve this question

Watchdog is Python library and shell utilities to monitor filesystem events.

share|improve this answer
Did you mind expanding upon how this fits into what OP is looking for? – 50-3 Sep 6 '13 at 0:16
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – allquixotic Sep 6 '13 at 3:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.