Некоторые редакторы и другие инструменты (например, rsync) могут создать файл под другим именем, а затем переименовать его.

ользую 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);

Я следил за всеми событиями.

Ответы на вопрос(2)

Ваш ответ на вопрос