Возможное дублирование:
наблюдайте за файловой системой в реальном времени на OS X и Ubuntu
Я ищу эффективный метод для мониторинга локального каталога в OSX, и если какие-либо файлы были изменены в этом каталоге, запустите сценарий bash для фиксации файлов в github.
Любые рекомендуемые инструменты для мониторинга каталога на предмет изменений файла, а затем запуска действия, то есть сценария bash?
Ответы:
Используя fswatch из вашего репозитория:
Этот простой пример будет ловить только изменения в файлах, уже находящихся в хранилище.
источник
fswatch
после прочтения вашего ответа. Отличная утилита - очень похожаяinotify
на Linux, и она использует родную OS Xfsevent
Одним из вариантов будет просто использовать launchd. Сохраните список свойств как этот
~/Library/LaunchAgents/com.superuser.445907.plist
, и загрузите его с помощьюlaunchctl load ~/Library/LaunchAgents/com.superuser.445907.plist
или, выйдя и вернувшись.Launchd регистрирует изменения в файлах только тогда, когда они сохраняются атомарно или удаляются и воссоздаются каждый раз, когда они сохраняются. Большинство приложений OS X по умолчанию выполняют атомарное сохранение, но, например, TextMate и vim этого не делают. Изменения в подпапках просматриваемых папок не обнаружены.
launchctl unload $path && launchctl load $path
применяет изменения к спискуСмотрите
man launchd
иman launchd.plist
для получения дополнительной информации.источник