Не могли бы вы объяснить мне механизм inotify? Я искал в Интернете об этом, но я понял, что если я хочу видеть изменения в файле, я должен делать опрос с помощью функции «читать». Есть ли функция обратного вызова, которая будет уведомлять меня, когда файл имеет изменения без опроса?linux, inotify - как подписаться?
Thanks,
Своевременное отметил, но вы можете разработать * почему * было бы хуже? :) –
@ Frédéric Hamidi Одна проблема с сигналами - они не очень хорошо сочетаются с исключениями. Вторая проблема заключается в том, что обработчики сигналов должны выполнять минимальную работу и возвращать. –
Только если вы используете исключения из обработчика сигнала. И тот факт, что обработчики сигналов должны выполнять минимальную работу, не означает, что опрос предпочтительнее. Например, ваш основной код может создать канал, настроить обработчик сигнала, а затем выбрать на трубке. Затем обработчик сигнала записывает один символ в трубку. запись безопасна для асинхронного сигнала. Элемент управления возвращается к вашему основному коду и выбирает возврат. У вас есть минимальный обработчик сигнала, и нет необходимости в опросе. – atomice