table of contents
- bullseye-backports 4.17.0-2~bpo11+1
- testing 4.17.0-2
- unstable 4.17.0-2
INOTIFY_INIT(2) | Руководство программиста Linux | INOTIFY_INIT(2) |
ИМЯ¶
inotify_init, inotify_init1 - инициализирует экземпляр inotify
СИНТАКСИС¶
#include <sys/inotify.h>
int inotify_init(void); int inotify_init1(int flags);
ОПИСАНИЕ¶
Обзор программного интерфейса inotify смотрите в inotify(7).
inotify_init() инициализирует новый экземпляр inotify и возвращает файловый дескриптор, связанный с очередью событий нового inotify.
Если flags равен 0, то inotify_init1() выполняет тоже, что и inotify_init(). Чтобы получить другое поведение, следующие значения могут быть сложены с помощью побитового ИЛИ в flags:
- IN_NONBLOCK
- Устанавливает флаг состояния файла O_NONBLOCK для нового открытого файлового описания (смотрите open(2)), на которое ссылается новый файловый дескриптор. Использование данного флага делает ненужными дополнительные вызовы fcntl(2) для достижения того же результата.
- IN_CLOEXEC
- Устанавливает флаг close-on-exec (FD_CLOEXEC) для нового открытого файлового дескриптора. Смотрите описание флага O_CLOEXEC в open(2) для того, чтобы узнать как это может пригодиться.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном выполнении данные системные вызовы возвращают новый файловый дескриптор. При ошибке возвращается -1 и errno устанавливается в соответствующее значение.
ОШИБКИ¶
- EINVAL
- (inotify_init1()) Указано неверное значение в flags.
- EMFILE
- Достигнуто максимальное количество экземпляров inotify доступных пользователю.
- EMFILE
- Было достигнуто ограничение по количеству открытых файловых дескрипторов на процесс.
- ENFILE
- Достигнуто максимальное количество открытых файлов в системе.
- ENOMEM
- Не хватает памяти ядра.
ВЕРСИИ¶
Системный вызов inotify_init() впервые появился в Linux 2.6.13; поддержка в glibc доступна с версии 2.4. Системный вызов inotify_init1() был добавлен в Linux 2.6.27; поддержка в glibc доступна с версии 2.9.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
Данные системные вызовы есть только в Linux.
СМ. ТАКЖЕ¶
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
11 апреля 2020 г. | Linux |