Отредактировано: у вас (OP) упоминается, что вы используете OSX. Я не знаю каких-либо похожих инструментов на OSX. Существует системный вызов низкого уровня (унаследованный от BSD) под названием «kqueue», но вам придется реализовать свой собственный инструмент пользовательского уровня. Существует пример приложения от Apple под названием «Watcher», но это только доказательство концепции и не делает то, что вы хотите.
Существует об этом another thread об переполнении стека (также неубедительно).
Из-за отсутствия соответствующего инструмента, если вы используете определенный язык программирования, я бы посоветовал вам искать решения, уже написанные для него. В противном случае, я думаю, что вы застряли в опрос и управление изменением самостоятельно ...
Вот мой оригинальный, ответ Linux на основе архивных целей:
Если вы используете Linux, вы можете взгляните на inotify. Более конкретно, вы можете установить inotify-tools, которые включают inotifywait
.
С его помощью вы можете отслеживать файлы и каталоги для ряда событий, таких как доступ, изменение, открытие, закрытие и многие другие. inotifywait
может выйти после того, как указанное событие было обнаружено, и поэтому простой цикл, что Вы получите то, что вы хотите:
while :; do
inotifywait -e modify /some/directory
run_test_suite
done
Кстати, многие языки программирования и среды уже имеют свои собственные непрерывные испытания бегунов (например, с Python вы можете использовать tdaemon, среди прочих).
См [это] FAQ (http://inotify.aiken.cz/?section=inotify&page=faq&lang=en) (четвертый вопрос и страница это ссылки на) , –
dnotify выглядит отлично, за исключением того, что я нахожусь на Mac.Извините, я должен был упомянуть об этом в своем посте. – Thomas
Я должен второй, на что указал Деннис: не используйте dnotify, вместо этого используйте inotify. – rbp