inotify_add_watch(2) - wariua/manpages-ko GitHub Wiki

NAME

inotify_add_watch - μ΄ˆκΈ°ν™” 된 inotify μΈμŠ€ν„΄μŠ€μ— κ°μ‹œ ν•­λͺ© μΆ”κ°€ν•˜κΈ°

SYNOPSIS

#include <sys/inotify.h>

int inotify_add_watch(int fd, const char *pathname, uint32_t mask);

DESCRIPTION

inotify_add_watch()λŠ” pathname에 μ§€μ •ν•œ μœ„μΉ˜μ˜ νŒŒμΌμ— λŒ€ν•΄ μƒˆ κ°μ‹œ ν•­λͺ©μ„ μΆ”κ°€ν•˜κ±°λ‚˜ κΈ°μ‘΄ κ°μ‹œ ν•­λͺ©μ„ λ³€κ²½ν•œλ‹€. ν˜ΈμΆœμžκ°€ κ·Έ νŒŒμΌμ— λŒ€ν•΄ 읽기 κΆŒν•œμ„ κ°€μ§€κ³  μžˆμ–΄μ•Ό ν•œλ‹€. fd μΈμžλŠ” κ°μ‹œ λͺ©λ‘μ„ λ³€κ²½ν•  inotify μΈμŠ€ν„΄μŠ€λ₯Ό κ°€λ¦¬ν‚€λŠ” 파일 λ””μŠ€ν¬λ¦½ν„°μ΄λ‹€. pathname에 λŒ€ν•΄ κ°μ‹œν•  μ΄λ²€νŠΈλ“€μ„ λΉ„νŠΈ 마슀크 인자 mask에 μ§€μ •ν•œλ‹€. mask에 μ„€μ •ν•  수 μžˆλŠ” λΉ„νŠΈλ“€μ— λŒ€ν•œ μ„€λͺ…은 inotify(7)λ₯Ό 보라.

inotify_add_watch() 호좜이 μ„±κ³΅ν•˜λ©΄ pathname에 ν•΄λ‹Ήν•˜λŠ” 파일 μ‹œμŠ€ν…œ 객체(μ•„μ΄λ…Έλ“œ)에 λŒ€ν•œ, 이 inotify μΈμŠ€ν„΄μŠ€μ—μ„œ μœ μΌν•œ κ°μ‹œ λ””μŠ€ν¬λ¦½ν„°λ₯Ό λ°˜ν™˜ν•œλ‹€. κ·Έ 파일 μ‹œμŠ€ν…œ 객체λ₯Ό 이 inotify μΈμŠ€ν„΄μŠ€λ‘œ 이전뢀터 κ°μ‹œν•˜κ³  있던 게 μ•„λ‹ˆλ©΄ κ°μ‹œ λ””μŠ€ν¬λ¦½ν„°λ₯Ό μƒˆλ‘œ ν• λ‹Ήν•œλ‹€. κ·Έ 파일 μ‹œμŠ€ν…œ 객체가 (μ–΄μ©Œλ©΄ 동일 객체에 λŒ€ν•œ λ‹€λ₯Έ 링크λ₯Ό ν†΅ν•΄μ„œ) 이미 κ°μ‹œ μ€‘μ΄μ—ˆμœΌλ©΄ κΈ°μ‘΄ κ°μ‹œ ν•­λͺ©μ— λŒ€ν•œ λ””μŠ€ν¬λ¦½ν„°λ₯Ό λ°˜ν™˜ν•œλ‹€.

이후 inotify 파일 λ””μŠ€ν¬λ¦½ν„°μ—μ„œ read(2) ν•˜λ©΄ κ·Έ κ°μ‹œ λ””μŠ€ν¬λ¦½ν„°κ°€ λ°˜ν™˜λœλ‹€. 읽기λ₯Ό ν•˜λ©΄ 파일 μ‹œμŠ€ν…œ 이벀트λ₯Ό λ‚˜νƒ€λ‚΄λŠ” inotify_event ꡬ쑰체(inotify(7) μ°Έκ³ )λ₯Ό κ°€μ Έμ˜€λŠ”λ° κ·Έ ꡬ쑰체 λ‚΄μ˜ κ°μ‹œ λ””μŠ€ν¬λ¦½ν„°λ‘œ 이벀트 λ°œμƒ 객체λ₯Ό 식별할 수 μžˆλ‹€.

RETURN VALUE

성곡 μ‹œ inotify_add_watch()λŠ” 음수 μ•„λ‹Œ κ°μ‹œ λ””μŠ€ν¬λ¦½ν„°λ₯Ό λ°˜ν™˜ν•œλ‹€. 였λ₯˜ μ‹œ -1을 λ°˜ν™˜ν•˜λ©° errnoλ₯Ό 적절히 μ„€μ •ν•œλ‹€.

ERRORS

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둜 이미 κ°μ‹œ 쀑인 νŒŒμΌμ„ 가리킀고 μžˆλ‹€.

VERSIONS

λ¦¬λˆ…μŠ€ 컀널 2.6.13으둜 inotifyκ°€ λ³‘ν•©λ˜μ—ˆλ‹€.

CONFORMING TO

이 μ‹œμŠ€ν…œ ν˜ΈμΆœμ€ λ¦¬λˆ…μŠ€ μ „μš©μ΄λ‹€.

SEE ALSO

inotify_init(2), inotify_rm_watch(2), inotify(7)


2019-03-06

⚠️ **GitHub.com Fallback** ⚠️