inotify_init(2) - wariua/manpages-ko GitHub Wiki
inotify_init, inotify_init1 - inotify μΈμ€ν΄μ€ μ΄κΈ°ν νκΈ°
#include <sys/inotify.h>
int inotify_init(void);
int inotify_init1(int flags);
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
νλκ·Έ μ€λͺ μ 보λΌ.
μ±κ³΅ μ μ΄ μμ€ν
νΈμΆλ€μ μ νμΌ λμ€ν¬λ¦½ν°λ₯Ό λ°ννλ€. μ€λ₯ μ -1μ λ°ννλ©° μ€λ₯λ₯Ό λνλ΄λλ‘ errno
λ₯Ό μ€μ νλ€.
EINVAL
- (
inotify_init1()
)flags
μ μ ν¨νμ§ μμ νλκ·Έλ₯Ό μ§μ νλ€. EMFILE
- inotify μΈμ€ν΄μ€μ λν μ¬μ©μλ³ μ νμ λλ¬νλ€.
EMFILE
- μ΄λ¦° νμΌ λμ€ν¬λ¦½ν° κ°μμ λν νλ‘μΈμ€λ³ μ νμ λλ¬νλ€.
ENFILE
- μ΄λ¦° νμΌ μ΄κ°μμ λν μμ€ν μ μ μ νμ λλ¬νλ€.
ENOMEM
- μ¬μ© κ°λ₯ν 컀λ λ©λͺ¨λ¦¬κ° μΆ©λΆνμ§ μλ€.
리λ
μ€ 2.6.13μμ inotify_init()
μ΄ μ²μ λ±μ₯νλ€. glibc λ²μ 2.4μμ λΌμ΄λΈλ¬λ¦¬ μ§μμ΄ μΆκ°λμλ€. 리λ
μ€ 2.6.27μμ inotify_init1()
μ΄ μΆκ°λμλ€. glibc λ²μ 2.9μμ λΌμ΄λΈλ¬λ¦¬ μ§μμ΄ μΆκ°λμλ€.
μ΄ μμ€ν νΈμΆλ€μ 리λ μ€ μ μ©μ΄λ€.
inotify_add_watch(2), inotify_rm_watch(2), inotify(7)
2019-03-06