inotify_add_watch(2) - wariua/manpages-ko GitHub Wiki
inotify_add_watch - μ΄κΈ°ν λ inotify μΈμ€ν΄μ€μ κ°μ νλͺ© μΆκ°νκΈ°
#include <sys/inotify.h>
int inotify_add_watch(int fd, const char *pathname, uint32_t mask);
inotify_add_watch()
λ pathname
μ μ§μ ν μμΉμ νμΌμ λν΄ μ κ°μ νλͺ©μ μΆκ°νκ±°λ κΈ°μ‘΄ κ°μ νλͺ©μ λ³κ²½νλ€. νΈμΆμκ° κ·Έ νμΌμ λν΄ μ½κΈ° κΆνμ κ°μ§κ³ μμ΄μΌ νλ€. fd
μΈμλ κ°μ λͺ©λ‘μ λ³κ²½ν inotify μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν€λ νμΌ λμ€ν¬λ¦½ν°μ΄λ€. pathname
μ λν΄ κ°μν μ΄λ²€νΈλ€μ λΉνΈ λ§μ€ν¬ μΈμ mask
μ μ§μ νλ€. mask
μ μ€μ ν μ μλ λΉνΈλ€μ λν μ€λͺ
μ inotify(7)λ₯Ό 보λΌ.
inotify_add_watch()
νΈμΆμ΄ μ±κ³΅νλ©΄ pathname
μ ν΄λΉνλ νμΌ μμ€ν
κ°μ²΄(μμ΄λ
Έλ)μ λν, μ΄ inotify μΈμ€ν΄μ€μμ μ μΌν κ°μ λμ€ν¬λ¦½ν°λ₯Ό λ°ννλ€. κ·Έ νμΌ μμ€ν
κ°μ²΄λ₯Ό μ΄ inotify μΈμ€ν΄μ€λ‘ μ΄μ λΆν° κ°μνκ³ μλ κ² μλλ©΄ κ°μ λμ€ν¬λ¦½ν°λ₯Ό μλ‘ ν λΉνλ€. κ·Έ νμΌ μμ€ν
κ°μ²΄κ° (μ΄μ©λ©΄ λμΌ κ°μ²΄μ λν λ€λ₯Έ λ§ν¬λ₯Ό ν΅ν΄μ) μ΄λ―Έ κ°μ μ€μ΄μμΌλ©΄ κΈ°μ‘΄ κ°μ νλͺ©μ λν λμ€ν¬λ¦½ν°λ₯Ό λ°ννλ€.
μ΄ν inotify νμΌ λμ€ν¬λ¦½ν°μμ read(2)
νλ©΄ κ·Έ κ°μ λμ€ν¬λ¦½ν°κ° λ°νλλ€. μ½κΈ°λ₯Ό νλ©΄ νμΌ μμ€ν
μ΄λ²€νΈλ₯Ό λνλ΄λ inotify_event
ꡬ쑰체(inotify(7) μ°Έκ³ )λ₯Ό κ°μ Έμ€λλ° κ·Έ ꡬ쑰체 λ΄μ κ°μ λμ€ν¬λ¦½ν°λ‘ μ΄λ²€νΈ λ°μ κ°μ²΄λ₯Ό μλ³ν μ μλ€.
μ±κ³΅ μ inotify_add_watch()
λ μμ μλ κ°μ λμ€ν¬λ¦½ν°λ₯Ό λ°ννλ€. μ€λ₯ μ -1μ λ°ννλ©° errno
λ₯Ό μ μ ν μ€μ νλ€.
EACCES
- μ§μ ν νμΌμ λν΄ μ½κΈ° κΆνμ΄ κ±°λΆλμλ€.
EBADF
- μ§μ ν νμΌ λμ€ν¬λ¦½ν°κ° μ ν¨νμ§ μλ€.
EFAULT
-
pathname
μ΄ νλ‘μΈμ€μ μ κ·Ό κ°λ₯ν μ£Όμ κ³΅κ° λ°μ κ°λ¦¬ν€κ³ μλ€. EINVAL
- μ§μ ν μ΄λ²€νΈ λ§μ€ν¬μ μ ν¨ν μ΄λ²€νΈκ° λ€μ΄ μμ§ μλ€. λλ
mask
μIF_MASK_ADD
μIN_MASK_CREATE
κ° κ°μ΄ λ€μ΄ μλ€. λλfd
κ° inotify νμΌ λμ€ν¬λ¦½ν°κ° μλλ€. ENAMETOOLONG
-
pathname
μ΄ λ무 κΈΈλ€. ENOENT
-
pathname
μ μ΄λ λλ ν°λ¦¬ μμκ° μ‘΄μ¬νμ§ μκ±°λ κΉ¨μ§ μ¬λ³Όλ¦ λ§ν¬μ΄λ€. ENOMEM
- μ¬μ© κ°λ₯ν 컀λ λ©λͺ¨λ¦¬κ° μΆ©λΆνμ§ μλ€.
ENOSPC
- inotify κ°μ νλͺ© μ΄μμ λν μ¬μ©μλ³ μ νμ λλ¬νκ±°λ 컀λμμ νμν μμμ ν λΉνλ λ° μ€ν¨νλ€.
ENOTDIR
-
mask
μIN_ONLYDIR
μ΄ λ€μ΄ μλλ°pathname
μ΄ λλ ν°λ¦¬κ° μλλ€. EEXIST
-
mask
μIN_MASK_CREATE
κ° λ€μ΄ μλλ°pathname
μ΄ κ°μfd
λ‘ μ΄λ―Έ κ°μ μ€μΈ νμΌμ κ°λ¦¬ν€κ³ μλ€.
리λ μ€ μ»€λ 2.6.13μΌλ‘ inotifyκ° λ³ν©λμλ€.
μ΄ μμ€ν νΈμΆμ 리λ μ€ μ μ©μ΄λ€.
inotify_init(2), inotify_rm_watch(2), inotify(7)
2019-03-06