inotify
Remember:
- programs like vim write out a modified file to a new file and then rename it to give it the new name, so there is never any open or close event for the edited file itself, just a move and a delete event
- deleting a file causes the watch to be removed with a separate IN_IGNORED event after the IN_DELETE_SELF event
Tips:
- Use inotifywait -m foo.txt to show what events are generated when accessing the filesystem in particular ways.