
inotify_read 함수의 첫 번째 인자로 사용되는 fd 값은 inotify 파일 디스크립터를 나타냅니다.
inotify 파일 디스크립터를 얻는 방법은 다음과 같습니다.
1. inotify_init() 함수를 호출하여 inotify 파일 디스크립터를 생성합니다.
2. inotify_add_watch() 함수를 호출하여 파일 시스템의 변경을 감지할 디렉토리나 파일에 대한 인덱스를 등록합니다.
inotify_read 함수를 사용하여 이벤트를 읽기 위한 메모리 공간을 할당하는 방법은 다음과 같습니다.
1. 이벤트를 읽기 위한 버퍼를 할당합니다. 버퍼의 크기는 IN_MAX_BUF_SIZE (1024) 이상이어야 합니다.
2. inotify_read 함수를 호출하여 이벤트를 읽습니다.
3. 읽은 이벤트를 처리합니다.
예제 코드는 다음과 같습니다.
#hostingforum.kr
c
#include
#include
#include
int main() {
int inotify_fd = inotify_init();
if (inotify_fd < 0) {
perror("inotify_init");
exit(1);
}
int wd = inotify_add_watch(inotify_fd, "/path/to/directory", IN_CREATE | IN_DELETE | IN_MODIFY);
if (wd < 0) {
perror("inotify_add_watch");
exit(1);
}
char buffer[1024];
ssize_t len = inotify_read(inotify_fd, buffer, sizeof(buffer));
if (len < 0) {
perror("inotify_read");
exit(1);
}
// 읽은 이벤트를 처리합니다.
printf("읽은 이벤트: %sn", buffer);
return 0;
}
이 예제 코드는 inotify 파일 디스크립터를 생성하고, 디렉토리 "/path/to/directory"에 대한 인덱스를 등록한 후, 이벤트를 읽기 위한 버퍼를 할당하고 inotify_read 함수를 호출하여 이벤트를 읽습니다.
2025-07-07 21:06