NAME
inotify_init, inotify_init1 - inotify 인스턴스 초기화 하기
SYNOPSIS
#include <sys/inotify.h>
int inotify_init(void);
int inotify_init1(int flags);
DESCRIPTION
inotify API에 대한 소개는 inotify(7)를 보라.
inotify_init()은 새 inotify 인스턴스를 초기화 하고 그 새 inotify 이벤트 큐에 연계된 파일 디스크립터를 반환한다.
inotify_init1()은 flags가 0이면 inotify_init()과 동일하다. flags에 다음 값들을 비트 OR 해서 다른 동작 방식을 얻을 수 있다.
IN_NONBLOCK- 새 파일 디스크립터가 가리키는 열린 파일 기술 항목(open(2) 참고)에
O_NONBLOCK파일 상태 플래그를 설정한다. 이 플래그를 사용하면 같은 결과를 얻기 위해 fcntl(2)을 추가로 호출하지 않아도 된다. IN_CLOEXEC- 새 파일 디스크립터에 exec에서 닫기(
FD_CLOEXEC) 플래그를 설정한다. 이게 유용할 수 있는 이유에 대해선 open(2)의O_CLOEXEC플래그 설명을 보라.
RETURN VALUE
성공 시 이 시스템 호출들은 새 파일 디스크립터를 반환한다. 오류 시 -1을 반환하며 오류를 나타내도록 errno를 설정한다.
ERRORS
EINVAL- (
inotify_init1())flags에 유효하지 않은 플래그를 지정했다. EMFILE- inotify 인스턴스에 대한 사용자별 제한에 도달했다.
EMFILE- 열린 파일 디스크립터 개수에 대한 프로세스별 제한에 도달했다.
ENFILE- 열린 파일 총개수에 대한 시스템 전역 제한에 도달했다.
ENOMEM- 사용 가능한 커널 메모리가 충분하지 않다.
VERSIONS
리눅스 2.6.13에서 inotify_init()이 처음 등장했다. glibc 버전 2.4에서 라이브러리 지원이 추가되었다. 리눅스 2.6.27에서 inotify_init1()이 추가되었다. glibc 버전 2.9에서 라이브러리 지원이 추가되었다.
CONFORMING TO
이 시스템 호출들은 리눅스 전용이다.
SEE ALSO
inotify_add_watch(2), inotify_rm_watch(2), inotify(7)
2020-04-11