[Moscow.pm] Аналог Inotify во FreeBSD

TheAthlete theathlet на yandex.ru
Чт Сен 4 23:27:47 PDT 2014


Думаю, нужно смотреть в сторону kqueue/kevent.
Посмотри следующие модули (не проверял):
Filesys::Notify::KQueue - https://metacpan.org/pod/Filesys::Notify::KQueue
File::ChangeNotify::Watcher::KQueue -  
https://metacpan.org/pod/File::ChangeNotify::Watcher::KQueue
AnyEvent::Filesys::Notify::Role::KQueue -  
https://metacpan.org/pod/AnyEvent::Filesys::Notify::Role::KQueue

Единственная проблема - с помощью kqueue/kevent невозможно смотреть  
большие каталоги, т.к. для каждого каталога и файла, который проверяется,  
открывается filehandle

Например, вот, что пишется в википедии про Gamin:

Under FreeBSD, Gamin uses kqueue/kevent as the native FreeBSD kernel event  
notification mechanism, but in this case kqueue has one major drawback as  
compared to inotify: inotify is the filename-based monitoring facility and  
kqueue uses file descriptors for identification of monitored files, so,  
under FreeBSD, gam_server has to open each file in the monitored  
directory. This can be an issue when monitoring directories with many  
files stored, because the system could easily reach its kernel limits on  
maximum file descriptor count (kern.maxfiles and kern.maxfilesperproc).


Подробная информация о списке рассылки Moscow-pm