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