OSDN Git Service

Import translated manuals from JM CVS Repository.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man7 / inotify.7
1 '\" t
2 .\" Hey Emacs! This file is -*- nroff -*- source.
3 .\"
4 .\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
5 .\"
6 .\" Permission is granted to make and distribute verbatim copies of this
7 .\" manual provided the copyright notice and this permission notice are
8 .\" preserved on all copies.
9 .\"
10 .\" Permission is granted to copy and distribute modified versions of this
11 .\" manual under the conditions for verbatim copying, provided that the
12 .\" entire resulting derived work is distributed under the terms of a
13 .\" permission notice identical to this one.
14 .\"
15 .\" Since the Linux kernel and libraries are constantly changing, this
16 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
17 .\" responsibility for errors or omissions, or for damages resulting from
18 .\" the use of the information contained herein.  The author(s) may not
19 .\" have taken the same level of care in the production of this manual,
20 .\" which is licensed free of charge, as they might when working
21 .\" professionally.
22 .\"
23 .\" Formatted or processed versions of this manual, if unaccompanied by
24 .\" the source, must acknowledge the copyright and authors of this work.
25 .\"
26 .\" Japanese Version Copyright (c) 2006 Yuichi SATO
27 .\"     and Copyright (c) 2007-2008 Akihiro MOTOKI
28 .\" Translated 2006-07-05 by Yuichi SATO <ysato444@yahoo.co.jp>, LDP v2.29
29 .\" Updated 2006-07-20 by Yuichi SATO, LDP v2.36
30 .\" Updated 2007-06-13, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.55
31 .\" Updated 2008-08-10, Akihiro MOTOKI, LDP v3.05
32 .\" Updated 2008-09-19, Akihiro MOTOKI, LDP v3.08
33 .\"
34 .TH INOTIFY 7 2008-11-18 "Linux" "Linux Programmer's Manual"
35 .SH Ì¾Á°
36 inotify \- ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¤ò´Æ»ë¤¹¤ë
37 .SH ÀâÌÀ
38 .I inotify
39 API ¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¤ò´Æ»ë¤¹¤ë¤¿¤á¤Îµ¡¹½¤òÄ󶡤¹¤ë¡£
40 inotify ¤Ï¸Ä¡¹¤Î¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤ò´Æ»ë¤¹¤ë¤Î¤Ë»È¤¨¤ë¡£
41 ¥Ç¥£¥ì¥¯¥È¥ê¤ò´Æ»ë¤¹¤ë¾ì¹ç¡¢inotify ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¼«¿È¤È
42 ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤Î¥¤¥Ù¥ó¥È¤òÊÖ¤¹¡£
43
44 °Ê²¼¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤³¤Î API ¤È¶¦¤Ë»ÈÍѤµ¤ì¤ë:
45 .BR inotify_init (2)
46 (¤ä
47 .BR inotify_init1 (2)),
48 .BR inotify_add_watch (2),
49 .BR inotify_rm_watch (2),
50 .BR read (2),
51 .BR close (2).
52
53 .BR inotify_init (2)
54 ¤Ï inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤·¡¢inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤ò»²¾È¤¹¤ë
55 ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£
56 ¤â¤Ã¤È¿·¤·¤¤
57 .BR inotify_init1 (2)
58 ¤â
59 .BR inotify_init (2)
60 ¤ÈƱÍͤÀ¤¬¡¢¤¤¤¯¤Ä¤«¤ÎÄɲäε¡Ç½¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¡£
61
62 .BR inotify_add_watch (2)
63 ¤Ï inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¡Ö´Æ»ëÂоݠ(watch) ¥ê¥¹¥È¡×¤òÁàºî¤¹¤ë¡£
64 ´Æ»ëÂоݥꥹ¥È¤Î³Æ¥¢¥¤¥Æ¥à ("watch") ¤Ï¡¢
65 ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹Ì¾¤È¡¢
66 ¤½¤Î¥Ñ¥¹Ì¾¤Ç»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
67 ¥«¡¼¥Í¥ë¤¬´Æ»ë¤¹¤ëÊ£¿ô¤Î¥¤¥Ù¥ó¥È¤Î½¸¹ç¤ò»ØÄꤹ¤ë¡£
68 .BR inotify_add_watch (2)
69 ¤Ï¿·¤·¤¤´Æ»ë¥¢¥¤¥Æ¥à¤ÎºîÀ®¤ä´û¸¤Î´Æ»ëÂоݤÎÊѹ¹¤¬¤Ç¤­¤ë¡£
70 ³Æ´Æ»ëÂоݤϰì°Õ¤Î¡Ö´Æ»ëÂоݥǥ£¥¹¥¯¥ê¥×¥¿¡×¤ò»ý¤Ä¡£
71 ¤³¤ì¤Ï´Æ»ëÂоݤòºîÀ®¤·¤¿¤È¤­¤Ë
72 .BR inotify_add_watch (2)
73 ¤«¤éÊÖ¤µ¤ì¤ëÀ°¿ô¤Ç¤¢¤ë¡£
74
75 .BR inotify_rm_watch (2)
76 ¤Ï inotify ¤Î´Æ»ëÂоݥꥹ¥È¤«¤é¥¢¥¤¥Æ¥à¤òºï½ü¤¹¤ë¡£
77
78 inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤ò»Ø¤·¤Æ¤¤¤ë
79 Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿¾ì¹ç¡¢
80 ¤½¤Î²¼Áؤˤ¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤È¤½¤Î¥ê¥½¡¼¥¹¤Ï¡¢
81 ¥«¡¼¥Í¥ë¤ÇºÆÍøÍѤ¹¤ë¤¿¤á¤Ë²òÊü¤µ¤ì¤ë¡£
82 ´ØÏ¢¤¬ÀÚ¤é¤ì¤¿´Æ»ëÂоݤϼ«Æ°Åª¤Ë²òÊü¤µ¤ì¤ë¡£
83
84 ¤É¤Î¤è¤¦¤Ê¥¤¥Ù¥ó¥È¤¬µ¯¤³¤Ã¤Æ¤¤¤¿¤«¤òÃΤë¤Ë¤Ï¡¢
85 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò
86 .BR read (2)
87 ¤¹¤ì¤Ð¤è¤¤¡£
88 ¤³¤ì¤Þ¤Ç¤Ë²¿¤â¥¤¥Ù¥ó¥È¤¬µ¯¤³¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
89 Ää»ß (blocking) ¥â¡¼¥É¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤¢¤ì¤Ð¡¢
90 ¾¯¤Ê¤¯¤È¤â 1 ¤Ä¤Î¥¤¥Ù¥ó¥È¤¬µ¯¤³¤ë¤Þ¤Ç
91 .BR read (2)
92 ¤ÏÄä»ß¤¹¤ë (¥·¥°¥Ê¥ë¤Ë¤è¤ê³ä¤ê¹þ¤Þ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡£
93 ¥·¥°¥Ê¥ë¤Ë¤è¤ë³ä¤ê¹þ¤ß¤¬¤¢¤Ã¤¿¾ì¹ç¡¢¸Æ¤Ó½Ð¤·¤Ï¥¨¥é¡¼
94 .BR EINTR
95 ¤Ç¼ºÇÔ¤¹¤ë¡£
96 .BR signal (7)
97 »²¾È)¡£
98
99 .BR read (2)
100 ¤¬À®¸ù¤¹¤ë¤È¡¢°Ê²¼¤Î¹½Â¤ÂΤò 1 ¤Ä°Ê¾å´Þ¤à¥Ð¥Ã¥Õ¥¡¤¬ÊÖ¤µ¤ì¤ë:
101 .in +4n
102 .nf
103
104 struct inotify_event {
105     int      wd;       /* ´Æ»ëÂоݥǥ£¥¹¥¯¥ê¥×¥¿ */
106 .\" FIXME . The type of the 'wd' field should probably be "int32_t".
107 .\" I submitted a patch to fix this.  See the LKML thread
108 .\" "[patch] Fix type errors in inotify interfaces", 18 Nov 2008
109 .\" Glibc bug filed: http://sources.redhat.com/bugzilla/show_bug.cgi?id=7040
110     uint32_t mask;     /* ¥¤¥Ù¥ó¥È¤Î¥Þ¥¹¥¯ */
111     uint32_t cookie;   /* ´ØÏ¢¤¹¤ë¥¤¥Ù¥ó¥È·²¤ò´ØÏ¢¤Å¤±¤ë
112                           °ì°Õ¤Ê¥¯¥Ã¥­¡¼ (rename(2) ÍÑ) */
113     uint32_t len;      /* \(aqname\(aq ¥Õ¥£¡¼¥ë¥É¤Î¥µ¥¤¥º */
114     char     name[];   /* NULL ¤Ç½ªÃ¼¤µ¤ì¤¿Ç¤°Õ¤Î̾Á° */
115 };
116 .fi
117 .in
118
119 .I wd
120 ¤Ï¥¤¥Ù¥ó¥ÈȯÀ¸¤Î´Æ»ëÂоݤò»ØÄꤹ¤ë¡£
121 ¤³¤ì¤Ï¡¢Á°¤â¤Ã¤Æ¹Ô¤ï¤ì¤¿
122 .BR inotify_add_watch (2)
123 ¸Æ¤Ó½Ð¤·¤ÇÊÖ¤µ¤ì¤¿´Æ»ëÂоݥǥ£¥¹¥¯¥ê¥×¥¿¤Î¤¦¤Á¤Î 1 ¤Ä¤Ç¤¢¤ë¡£
124
125 .I mask
126 ¤Ë¤ÏȯÀ¸¤·¤¿¥¤¥Ù¥ó¥È (²¼µ­»²¾È) ¤òµ­½Ò¤¹¤ë¤¿¤á¤Î¥Ó¥Ã¥È¤¬´Þ¤Þ¤ì¤ë¡£
127
128 .I cookie
129 ¤Ï´ØÏ¢¤¹¤ë¥¤¥Ù¥ó¥È¤ò´ØÏ¢¤Å¤±¤ë¤¿¤á¤Î°ì°Õ¤ÊÀ°¿ô¤Ç¤¢¤ë¡£
130 ¸½ºß¤Î¤È¤³¤í¡¢¤³¤ÎÃͤϠrename ¥¤¥Ù¥ó¥È¤ËÂФ·¤Æ¤Î¤ß»È¤ï¤ì¤Æ¤ª¤ê¡¢
131 ·ë²Ì¤Î¥Ú¥¢¤Ç¤¢¤ë
132 .B IN_MOVE_FROM
133 ¤È
134 .B IN_MOVE_TO
135 ¥¤¥Ù¥ó¥È¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç´ØÏ¢¤Å¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
136
137 .I name
138 ¥Õ¥£¡¼¥ë¥É¤Ï´Æ»ë¤·¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
139 ¥¤¥Ù¥ó¥È¤¬ÊÖ¤µ¤ì¤ë¾ì¹ç¤Î¤¿¤á¤Ë¤À¤±Â¸ºß¤¹¤ë¡£
140 ´Æ»ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¥Õ¥¡¥¤¥ë¤ÎÁêÂХѥ¹Ì¾¤òɽ¤¹¡£
141 ¤³¤Î¥Ñ¥¹Ì¾¤Ï NULL ¤Ç½ªÃ¼¤µ¤ì¡¢
142 ¤½¤Î¸å¤ÎÆɤ߹þ¤ß¤ÇŬÀڤʥ¢¥É¥ì¥¹¶­³¦¤ËÄ´À°¤¹¤ë¤¿¤á¤Ë¡¢
143 ¤µ¤é¤Ë NULL ¥Ð¥¤¥È¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤â¤¢¤ë¡£
144
145 .I len
146 ¥Õ¥£¡¼¥ë¥É¤Ï NULL ¥Ð¥¤¥È¤ò´Þ¤à
147 .I name
148 ¤ÎÁ´¤Æ¤Î¥Ð¥¤¥È¿ô¤òɽ¤¹¡£
149 ¤è¤Ã¤Æ¡¢
150 .I inotify_event
151 ¹½Â¤ÂΤΥµ¥¤¥º¤Ï
152 .I "sizeof(inotify_event)+len"
153 ¤Ç¤¢¤ë¡£
154
155 .BR read (2)
156 ¤ËÅϤµ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤¬¾®¤µ¤¹¤®¤Æ¼¡¤Î¥¤¥Ù¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó¤òÊÖ¤»¤Ê¤¤
157 ¾ì¹ç¤ÎÆ°ºî¤Ï¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤ê°Û¤Ê¤ë¡£
158 2.6.21 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
159 .BR read (2)
160 ¤Ï 0 ¤òÊÖ¤¹¡£
161 2.6.21 °Ê¹ß¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
162 .BR read (2)
163 ¤Ï¥¨¥é¡¼
164 .B EINVAL
165 ¤Ç¼ºÇÔ¤¹¤ë¡£
166 .SS inotify ¥¤¥Ù¥ó¥È
167 .BR inotify_add_watch (2)
168 ¤Î
169 .I mask
170 °ú¤­¿ô¤È¡¢inotify ¥Õ¥¡¥¤¥ë¹½Â¤ÂΤò
171 .BR read (2)
172 ¤·¤¿¤È¤­¤ËÊÖ¤µ¤ì¤ë
173 .I inotify_event
174 ¹½Â¤ÂΤÎ
175 .I mask
176 ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¤È¤â¤Ë inotify ¥¤¥Ù¥ó¥È¤ò¼±Ê̤¹¤ë¤¿¤á¤Î
177 ¥Ó¥Ã¥È¥Þ¥¹¥¯¤Ç¤¢¤ë¡£
178 °Ê²¼¤Î¥Ó¥Ã¥È¤¬
179 .BR inotify_add_watch (2)
180 ¤ò¸Æ¤Ö¤È¤­¤Î
181 .I mask
182 ¤Ë»ØÄê²Äǽ¤Ç¤¢¤ê¡¢
183 .BR read (2)
184 ¤ÇÊÖ¤µ¤ì¤ë
185 .I mask
186 ¥Õ¥£¡¼¥ë¥É¤ÇÊÖ¤µ¤ì¤ë:
187 .RS 4
188 .sp
189 .PD 0
190 .TP 18
191 .B IN_ACCESS
192 ¥Õ¥¡¥¤¥ë¤¬¥¢¥¯¥»¥¹ (read) ¤µ¤ì¤¿¡£(*)
193 .TP
194 .B IN_ATTRIB
195 ¥á¥¿¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¡£
196 ¥á¥¿¥Ç¡¼¥¿¤È¤Ï¡¢Î㤨¤Ð¡¢µö²Ä (permission)¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¡¢³Èĥ°À­¡¢
197 ¥ê¥ó¥¯¥«¥¦¥ó¥È (Linux 2.6.25 °Ê¹ß)¡¢UID¡¢GID ¤Ê¤É¤Ç¤¢¤ë¡£(*)
198 .TP
199 .B IN_CLOSE_WRITE
200 ½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿¡£(*)
201 .TP
202 .B IN_CLOSE_NOWRITE
203 ½ñ¤­¹þ¤ß°Ê³°¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿¡£(*)
204 .TP
205 .B IN_CREATE
206 ´Æ»ëÂоݥǥ£¥ì¥¯¥È¥êÆâ¤Ç¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤¿¡£(*)
207 .TP
208 .B IN_DELETE
209 ´Æ»ëÂоݥǥ£¥ì¥¯¥È¥êÆâ¤Ç¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤¬ºï½ü¤µ¤ì¤¿¡£(*)
210 .TP
211 .B IN_DELETE_SELF
212 ´Æ»ëÂоݤΥǥ£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¼«¿È¤¬ºï½ü¤µ¤ì¤¿¡£
213 .TP
214 .B IN_MODIFY
215 ¥Õ¥¡¥¤¥ë¤¬½¤Àµ¤µ¤ì¤¿¡£(*)
216 .TP
217 .B IN_MOVE_SELF
218 ´Æ»ëÂоݤΥǥ£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¼«¿È¤¬°ÜÆ°¤µ¤ì¤¿¡£
219 .TP
220 .B IN_MOVED_FROM
221 ¥Õ¥¡¥¤¥ë¤¬´Æ»ëÂоݥǥ£¥ì¥¯¥È¥ê³°¤Ø°ÜÆ°¤µ¤ì¤¿¡£(*)
222 .TP
223 .B IN_MOVED_TO
224 ¥Õ¥¡¥¤¥ë¤¬´Æ»ëÂоݥǥ£¥ì¥¯¥È¥êÆâ¤Ø°ÜÆ°¤µ¤ì¤¿¡£(*)
225 .TP
226 .B IN_OPEN
227 ¥Õ¥¡¥¤¥ë¤¬¥ª¡¼¥×¥ó¤µ¤ì¤¿¡£(*)
228 .PD
229 .RE
230 .PP
231 ¥Ç¥£¥ì¥¯¥È¥ê¤ò´Æ»ë¤¹¤ë¾ì¹ç¡¢
232 ¾åµ­¤Ç¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤òÉÕ¤±¤¿¥¤¥Ù¥ó¥È¤Ï¡¢
233 ¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆȯÀ¸¤¹¤ë¡£
234 ¤³¤Î¤È¤­
235 .I inotify_event
236 ¹½Â¤ÂΤÇÊÖ¤µ¤ì¤ë
237 .I name
238 ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë̾¤òɽ¤¹¡£
239 .PP
240 .B IN_ALL_EVENTS
241 ¥Þ¥¯¥í¤Ï¾åµ­¤Î¥¤¥Ù¥ó¥ÈÁ´¤Æ¤Î¥Þ¥¹¥¯¤È¤·¤ÆÄêµÁ¤µ¤ì¤ë¡£
242 ¤³¤Î¥Þ¥¯¥í¤Ï
243 .BR inotify_add_watch (2)
244 ¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Î
245 .I mask
246 °ú¤­¿ô¤È¤·¤Æ»È¤¨¤ë¡£
247
248 ¤µ¤é¤Ë 2 ¤Ä¤ÎÊØÍø¤Ê¥Þ¥¯¥í¤¬¤¢¤ë¡£
249 .B IN_MOVE
250 ¤Ï
251 IN_MOVED_FROM|IN_MOVED_TO
252 ¤ÈÅù¤·¤¯¡¢
253 .B IN_CLOSE
254 ¤Ï
255 IN_CLOSE_WRITE|IN_CLOSE_NOWRITE
256 ¤ÈÅù¤·¤¤¡£
257 .PP
258 ¤½¤Î¾¤Ë¤â°Ê²¼¤Î¥Ó¥Ã¥È¤ò
259 .BR inotify_add_watch (2)
260 ¤ò¸Æ¤Ö¤È¤­¤Î
261 .I mask
262 ¤Ë»ØÄê¤Ç¤­¤ë:
263 .RS 4
264 .sp
265 .PD 0
266 .TP 18
267 .B IN_DONT_FOLLOW
268 \fIpathname\fP ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë¾ì¹ç¤Ëé¤é¤Ê¤¤¡£
269 (Linux 2.6.15 °Ê¹ß)
270 .TP
271 .B IN_MASK_ADD
272 \fIpathname\fP ¤ËÂФ¹¤ë´Æ»ë¥Þ¥¹¥¯¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢
273 (¥Þ¥¹¥¯¤ÎÃÖ¤­´¹¤¨¤Ç¤Ï¤Ê¤¯) ¥¤¥Ù¥ó¥È¤òÄɲà(OR) ¤¹¤ë¡£
274 .TP
275 .B IN_ONESHOT
276 1 ¤Ä¤Î¥¤¥Ù¥ó¥È¤Ë¤Ä¤¤¤Æ \fIpathname\fP ¤ò´Æ»ë¤·¡¢
277 ¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤¿¤é´Æ»ëÂоݥꥹ¥È¤«¤éºï½ü¤¹¤ë¡£
278 .TP
279 .BR IN_ONLYDIR " (Linux 2.6.15 °Ê¹ß)"
280 \fIpathname\fP ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¤Ë¤Î¤ß´Æ»ë¤¹¤ë¡£
281 .PD
282 .RE
283 .PP
284 °Ê²¼¤Î¥Ó¥Ã¥È¤¬
285 .BR read (2)
286 ¤ÇÊÖ¤µ¤ì¤ë
287 .I mask
288 ¥Õ¥£¡¼¥ë¥É¤ËÀßÄꤵ¤ì¤ë:
289 .RS 4
290 .sp
291 .PD 0
292 .TP 18
293 .B IN_IGNORED
294 ´Æ»ëÂоݤ¬ (\fBinotify_rm_watch\fP(2) ¤Ë¤è¤ê) ÌÀ¼¨Åª¤Ë
295 ºï½ü¤µ¤ì¤¿¡£¤â¤·¤¯¤Ï (¥Õ¥¡¥¤¥ë¤Îºï½ü¡¢¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë
296 ¥·¥¹¥Æ¥à¤Î¥¢¥ó¥Þ¥¦¥ó¥È¤Ë¤è¤ê) ¼«Æ°Åª¤Ëºï½ü¤µ¤ì¤¿¡£
297 .TP
298 .B IN_ISDIR
299 ¤³¤Î¥¤¥Ù¥ó¥È¤ÎÂоݤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¡£
300 .TP
301 .B IN_Q_OVERFLOW
302 ¥¤¥Ù¥ó¥È¥­¥å¡¼¤¬°î¤ì¤¿ (¤³¤Î¥¤¥Ù¥ó¥È¤Î¾ì¹ç¡¢\fIwd\fP ¤Ï \-1 ¤Ç¤¢¤ë)¡£
303 .TP
304 .B IN_UNMOUNT
305 ´Æ»ëÂоݥª¥Ö¥¸¥§¥¯¥È¤ò´Þ¤à¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥¢¥ó¥Þ¥¦¥ó¥È¤µ¤ì¤¿¡£
306 .PD
307 .RE
308 .SS /proc ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹
309 °Ê²¼¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢inotify ¤Ç¾ÃÈñ¤µ¤ì¤ë
310 ¥«¡¼¥Í¥ë¥á¥â¥ê¤ÎÁíÎ̤òÀ©¸Â¤¹¤ë¤Î¤Ë»ÈÍѤǤ­¤ë:
311 .TP
312 .I /proc/sys/fs/inotify/max_queued_events
313 ¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃͤϡ¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬
314 .BR inotify_init (2)
315 ¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë»ÈÍѤµ¤ì¡¢Âбþ¤¹¤ë inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¤Ä¤¤¤Æ
316 ¥­¥å¡¼¤ËÆþ¤ì¤é¤ì¤ë¥¤¥Ù¥ó¥È¤Î¿ô¤Î¾å¸Â¤òÀßÄꤹ¤ë¡£
317 ¤³¤ÎÀ©¸Â¤òĶ¤¨¤¿¥¤¥Ù¥ó¥È¤ÏÇË´þ¤µ¤ì¤ë¤¬¡¢
318 .B IN_Q_OVERFLOW
319 ¥¤¥Ù¥ó¥È¤¬¾ï¤ËÀ¸À®¤µ¤ì¤ë¡£
320 .TP
321 .I /proc/sys/fs/inotify/max_user_instances
322 1 ¤Ä¤Î¼Â¥æ¡¼¥¶ ID ¤ËÂФ·¤ÆÀ¸À®¤Ç¤­¤ë
323 inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤Î¿ô¤Î¾å¸Â¤ò»ØÄꤹ¤ë¡£
324 .TP
325 .I /proc/sys/fs/inotify/max_user_watches
326 ºîÀ®²Äǽ¤Ê´Æ»ëÂоݤοô¤Î¼Â UID Ã±°Ì¤Î¾å¸Â¤ò»ØÄꤹ¤ë¡£
327 .SH ¥Ð¡¼¥¸¥ç¥ó
328 inotify ¤Ï 2.6.13 ¤Î Linux ¥«¡¼¥Í¥ë¤ËÁȹþ¤Þ¤ì¤¿¡£
329 ¤³¤ì¤ËɬÍפʥ饤¥Ö¥é¥ê¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢
330 glibc ¤Î¥Ð¡¼¥¸¥ç¥ó 2.4 ¤ËÄɲ䵤줿
331 .RB ( IN_DONT_FOLLOW ,
332 .BR IN_MASK_ADD ,
333 .B IN_ONLYDIR
334 ¤À¤±¤Ï¥Ð¡¼¥¸¥ç¥ó 2.5 ¤ÇÄɲ䵤줿)¡£
335 .SH ½àµò
336 inotify API ¤Ï Linux Æȼ«¤Î¤â¤Î¤Ç¤¢¤ë¡£
337 .SH Ãí°Õ
338 inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï
339 .BR select (2),
340 .BR poll (2),
341 .BR epoll (7)
342 ¤ò»È¤Ã¤Æ´Æ»ë¤Ç¤­¤ë¡£
343 ¥¤¥Ù¥ó¥È¤¬¤¢¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÏÆɤ߹þ¤ß²Äǽ¤ÈÄÌÃΤ¹¤ë¡£
344
345 Linux 2.6.25 °Ê¹ß¤Ç¤Ï¡¢¥·¥°¥Ê¥ë¶îÆ° (signal-driven) I/O ¤ÎÄÌÃΤ¬
346 inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¤Ä¤¤¤ÆÍøÍѲÄǽ¤Ç¤¢¤ë¡£
347 .BR fcntl (2)
348 ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë
349 .RB ( O_ASYNC
350 ¥Õ¥é¥°¤òÀßÄꤹ¤ë¤¿¤á¤Î)
351 .BR F_SETFL ,
352 .BR F_SETOWN ,
353 .B F_SETSIG
354 ¤ÎµÄÏÀ¤ò»²¾È¤Î¤³¤È¡£
355 ¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ËÅϤµ¤ì¤ë
356 .I siginfo_t
357 ¹½Â¤ÂΤϡ¢°Ê²¼¤Î¥Õ¥£¡¼¥ë¥É¤¬ÀßÄꤵ¤ì¤ë
358 .RI ( siginfo_t
359 ¤Ï
360 .BR sigaction (2)
361 ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë)¡£
362 .I si_fd
363 ¤Ë¤Ï inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿Èֹ椬¡¢
364 .I si_signo
365 ¤Ë¤Ï¥·¥°¥Ê¥ëÈֹ椬¡¢
366 .I si_code
367 ¤Ë¤Ï
368 .BR POLL_IN
369 ¤¬¡¢
370 .I si_band
371 ¤Ë¤Ï
372 .B POLLIN
373 ¤¬ÀßÄꤵ¤ì¤ë¡£
374
375 inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ËÂФ·¤Æ
376 Ϣ³¤·¤ÆÀ¸À®¤µ¤ì¤ë½ÐÎÏ inotify ¥¤¥Ù¥ó¥È¤¬Æ±°ì¤Î¾ì¹ç
377 .RI ( wd ,
378 .IR mask ,
379 .IR cookie ,
380 .I name
381 ¤¬Åù¤·¤¤¾ì¹ç)¡¢
382 Á°¤Î¥¤¥Ù¥ó¥È¤¬¤Þ¤ÀÆɤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
383 Ϣ³¤¹¤ë¥¤¥Ù¥ó¥È¤¬ 1 ¤Ä¤Î¥¤¥Ù¥ó¥È¤Ë¤Þ¤È¤á¤é¤ì¤ë
384 (¤¿¤À¤·¡Ö¥Ð¥°¡×¤ÎÀá¤â»²¾È¤Î¤³¤È)¡£
385
386 inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÎÆɤ߹þ¤ß¤ÇÊÖ¤µ¤ì¤ë¥¤¥Ù¥ó¥È¤Ï¡¢
387 ½ç½øÉÕ¤±¤é¤ì¤¿¥­¥å¡¼¤Ë¤Ê¤ë¡£
388 ½¾¤Ã¤Æ¡¢¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤òÊ̤Î̾Á°¤ËÊѹ¹¤·¤¿¾ì¹ç¡¢
389 inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¤Ä¤¤¤Æ¤ÎÀµ¤·¤¤½çÈÖ¤Ç
390 ¥¤¥Ù¥ó¥È¤¬À¸À®¤µ¤ì¤ë¤³¤È¤¬Êݾڤµ¤ì¤ë¡£
391
392 .B FIONREAD
393 .BR ioctl (2)
394 ¤Ï inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤«¤é²¿¥Ð¥¤¥ÈÆɤ߹þ¤á¤ë¤«¤òÊÖ¤¹¡£
395
396 inotify ¤Ë¤è¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î´Æ»ë¤ÏºÆµ¢Åª¤Ë¹Ô¤ï¤ì¤Ê¤¤:
397 ¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò´Æ»ë¤¹¤ë¾ì¹ç¡¢
398 ´Æ»ëÂоݤòÄɲäǺîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
399 .SH ¥Ð¥°
400 2.6.16 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï
401 .B IN_ONESHOT
402 .I mask
403 ¥Õ¥é¥°¤¬Æ¯¤«¤Ê¤¤¡£
404
405 ¥«¡¼¥Í¥ë 2.6.25 ¤è¤êÁ°¤Ç¤Ï¡¢
406 Ϣ³¤¹¤ëƱ°ì¤Î¥¤¥Ù¥ó¥È¤ò°ì¤Ä¤Ë¤Þ¤È¤á¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿¥³¡¼¥É
407 (¸Å¤¤Êý¤Î¥¤¥Ù¥ó¥È¤¬¤Þ¤ÀÆɤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¡¢
408 ºÇ¿·¤Î 2 ¤Ä¤Î¥¤¥Ù¥ó¥È¤ò°ì¤Ä¤Ë¤Þ¤È¤á¤é¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë) ¤¬¡¢
409 ºÇ¿·¤Î¥¤¥Ù¥ó¥È¤¬¡ÖºÇ¤â¸Å¤¤¡×Æɤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¥¤¥Ù¥ó¥È¤È¤Þ¤È¤á¤é¤ì¤ë¤«
410 ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿¡£
411 .SH ´ØÏ¢¹àÌÜ
412 .BR inotify_add_watch (2),
413 .BR inotify_init (2),
414 .BR inotify_init1 (2),
415 .BR inotify_rm_watch (2),
416 .BR read (2),
417 .BR stat (2),
418 .IR Documentation/filesystems/inotify.txt .