Я использую inotify для мониторинга локального файла, например "/ root / temp", используя
inotify_add_watch(fd, "/root/temp", mask).
При удалении этого файла программа будет заблокирована функцией read(fd, buf, bufSize)
. Даже если я создаю новый файл "/ root / temp", программа все равно блокируется функцией чтения. Мне интересно, может ли inotify обнаружить, что отслеживаемый файл создан, и функция чтения может получить что-то от fd, чтобы чтение не было заблокировано навсегда.
Вот мой код:
uint32_t mask = IN_ALL_EVENTS;
int fd = inotify_init();
int wd = inotify_add_watch(fd, "/root/temp", mask);
char *buf = new char[1000];
int nbytes = read(fd, buf, 500);
Я следил за всеми событиями.