X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman7%2Finotify.7;h=57c6e822cd85dbcdea5e94d478cf96de81acaeb5;hb=580ec584283d24d63d4ea71627d0e94b1e476c03;hp=2492786c1df06a8fb019d8bb0d6234666bc170c1;hpb=633a2252e0be3c867dce264a180a89ce8181d36f;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man7/inotify.7 b/release/man7/inotify.7 index 2492786c..57c6e822 100644 --- a/release/man7/inotify.7 +++ b/release/man7/inotify.7 @@ -1,8 +1,7 @@ -'\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" +.\" t .\" Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,397 +21,265 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" +.\"******************************************************************* .\" -.\" Japanese Version Copyright (c) 2006 Yuichi SATO -.\" and Copyright (c) 2007-2008 Akihiro MOTOKI -.\" Translated 2006-07-05 by Yuichi SATO , LDP v2.29 -.\" Updated 2006-07-20 by Yuichi SATO, LDP v2.36 -.\" Updated 2007-06-13, Akihiro MOTOKI , LDP v2.55 -.\" Updated 2008-08-10, Akihiro MOTOKI, LDP v3.05 -.\" Updated 2008-09-19, Akihiro MOTOKI, LDP v3.08 +.\" This file was generated with po4a. Translate the source file. .\" -.TH INOTIFY 7 2008-11-18 "Linux" "Linux Programmer's Manual" -.SH ̾Á° -inotify \- ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¤ò´Æ»ë¤¹¤ë -.SH ÀâÌÀ -.I inotify -API ¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¤ò´Æ»ë¤¹¤ë¤¿¤á¤Îµ¡¹½¤òÄ󶡤¹¤ë¡£ -inotify ¤Ï¸Ä¡¹¤Î¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤ò´Æ»ë¤¹¤ë¤Î¤Ë»È¤¨¤ë¡£ -¥Ç¥£¥ì¥¯¥È¥ê¤ò´Æ»ë¤¹¤ë¾ì¹ç¡¢inotify ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¼«¿È¤È -¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤Î¥¤¥Ù¥ó¥È¤òÊÖ¤¹¡£ +.\"******************************************************************* +.TH INOTIFY 7 2013\-02\-25 Linux "Linux Programmer's Manual" +.SH 名前 +inotify \- ファイルシステムイベントを監視する +.SH 説明 +\fIinotify\fP API はファイルシステムイベントを監視するための機構を提供する。 inotify +は個々のファイルやディレクトリを監視するのに使える。 ディレクトリを監視する場合、inotify はディレクトリ自身と +ディレクトリ内のファイルのイベントを返す。 -°Ê²¼¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤³¤Î API ¤È¶¦¤Ë»ÈÍѤµ¤ì¤ë: -.BR inotify_init (2) -(¤ä -.BR inotify_init1 (2)), -.BR inotify_add_watch (2), -.BR inotify_rm_watch (2), -.BR read (2), -.BR close (2). +以下のシステムコールがこの API と共に使用される: \fBinotify_init\fP(2) (や \fBinotify_init1\fP(2)), +\fBinotify_add_watch\fP(2), \fBinotify_rm_watch\fP(2), \fBread\fP(2), \fBclose\fP(2). -.BR inotify_init (2) -¤Ï inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤·¡¢inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤ò»²¾È¤¹¤ë -¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£ -¤â¤Ã¤È¿·¤·¤¤ -.BR inotify_init1 (2) -¤â -.BR inotify_init (2) -¤ÈƱÍͤÀ¤¬¡¢¤¤¤¯¤Ä¤«¤ÎÄɲäε¡Ç½¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¡£ +\fBinotify_init\fP(2) は inotify インスタンスを作成し、inotify インスタンスを参照する ファイルディスクリプタを返す。 +もっと新しい \fBinotify_init1\fP(2) も \fBinotify_init\fP(2) と同様だが、いくつかの追加の機能が提供されている。 -.BR inotify_add_watch (2) -¤Ï inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¡Ö´Æ»ëÂÐ¾Ý (watch) ¥ê¥¹¥È¡×¤òÁàºî¤¹¤ë¡£ -´Æ»ëÂоݥꥹ¥È¤Î³Æ¥¢¥¤¥Æ¥à ("watch") ¤Ï¡¢ -¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹Ì¾¤È¡¢ -¤½¤Î¥Ñ¥¹Ì¾¤Ç»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ -¥«¡¼¥Í¥ë¤¬´Æ»ë¤¹¤ëÊ£¿ô¤Î¥¤¥Ù¥ó¥È¤Î½¸¹ç¤ò»ØÄꤹ¤ë¡£ -.BR inotify_add_watch (2) -¤Ï¿·¤·¤¤´Æ»ë¥¢¥¤¥Æ¥à¤ÎºîÀ®¤ä´û¸¤Î´Æ»ëÂоݤÎÊѹ¹¤¬¤Ç¤­¤ë¡£ -³Æ´Æ»ëÂоݤϰì°Õ¤Î¡Ö´Æ»ëÂоݥǥ£¥¹¥¯¥ê¥×¥¿¡×¤ò»ý¤Ä¡£ -¤³¤ì¤Ï´Æ»ëÂоݤòºîÀ®¤·¤¿¤È¤­¤Ë -.BR inotify_add_watch (2) -¤«¤éÊÖ¤µ¤ì¤ëÀ°¿ô¤Ç¤¢¤ë¡£ +\fBinotify_add_watch\fP(2) は inotify インスタンスに関連づけられた「監視対象 (watch) リスト」を操作する。 +監視対象リストの各アイテム ("watch") は、 ファイルまたはディレクトリのパス名と、 そのパス名で参照されるファイルに対して +カーネルが監視する複数のイベントの集合を指定する。 \fBinotify_add_watch\fP(2) +は新しい監視アイテムの作成や既存の監視対象の変更ができる。 各監視対象は一意の「監視対象ディスクリプタ」を持つ。 これは監視対象を作成したときに +\fBinotify_add_watch\fP(2) から返される整数である。 -.BR inotify_rm_watch (2) -¤Ï inotify ¤Î´Æ»ëÂоݥꥹ¥È¤«¤é¥¢¥¤¥Æ¥à¤òºï½ü¤¹¤ë¡£ +\fBinotify_rm_watch\fP(2) は inotify の監視対象リストからアイテムを削除する。 -inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤ò»Ø¤·¤Æ¤¤¤ë -Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿¾ì¹ç¡¢ -¤½¤Î²¼Áؤˤ¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤È¤½¤Î¥ê¥½¡¼¥¹¤Ï¡¢ -¥«¡¼¥Í¥ë¤ÇºÆÍøÍѤ¹¤ë¤¿¤á¤Ë²òÊü¤µ¤ì¤ë¡£ -´ØÏ¢¤¬ÀÚ¤é¤ì¤¿´Æ»ëÂоݤϼ«Æ°Åª¤Ë²òÊü¤µ¤ì¤ë¡£ +inotify インスタンスを指している 全てのファイルディスクリプタがクローズされた場合、 その下層にあるオブジェクトとそのリソースは、 +カーネルで再利用するために解放される。 関連が切られた監視対象は自動的に解放される。 -¤É¤Î¤è¤¦¤Ê¥¤¥Ù¥ó¥È¤¬µ¯¤³¤Ã¤Æ¤¤¤¿¤«¤òÃΤë¤Ë¤Ï¡¢ -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò -.BR read (2) -¤¹¤ì¤Ð¤è¤¤¡£ -¤³¤ì¤Þ¤Ç¤Ë²¿¤â¥¤¥Ù¥ó¥È¤¬µ¯¤³¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ -Ää»ß (blocking) ¥â¡¼¥É¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤¢¤ì¤Ð¡¢ -¾¯¤Ê¤¯¤È¤â 1 ¤Ä¤Î¥¤¥Ù¥ó¥È¤¬µ¯¤³¤ë¤Þ¤Ç -.BR read (2) -¤ÏÄä»ß¤¹¤ë (¥·¥°¥Ê¥ë¤Ë¤è¤ê³ä¤ê¹þ¤Þ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡£ -¥·¥°¥Ê¥ë¤Ë¤è¤ë³ä¤ê¹þ¤ß¤¬¤¢¤Ã¤¿¾ì¹ç¡¢¸Æ¤Ó½Ð¤·¤Ï¥¨¥é¡¼ -.BR EINTR -¤Ç¼ºÇÔ¤¹¤ë¡£ -.BR signal (7) -»²¾È)¡£ +どのようなイベントが起こっていたかを知るには、 アプリケーションで inotify ファイルディスクリプタを \fBread\fP(2) すればよい。 +これまでに何もイベントが起こっていない場合、 停止 (blocking) モードのファイルディスクリプタであれば、 少なくとも 1 +つのイベントが起こるまで \fBread\fP(2) は停止する (シグナルにより割り込まれなかった場合。 +シグナルによる割り込みがあった場合、呼び出しはエラー \fBEINTR\fP で失敗する。 \fBsignal\fP(7) 参照)。 -.BR read (2) -¤¬À®¸ù¤¹¤ë¤È¡¢°Ê²¼¤Î¹½Â¤ÂΤò 1 ¤Ä°Ê¾å´Þ¤à¥Ð¥Ã¥Õ¥¡¤¬ÊÖ¤µ¤ì¤ë: +\fBread\fP(2) が成功すると、以下の構造体を 1 つ以上含むバッファが返される: .in +4n .nf -struct inotify_event { - int wd; /* ´Æ»ëÂоݥǥ£¥¹¥¯¥ê¥×¥¿ */ .\" FIXME . The type of the 'wd' field should probably be "int32_t". .\" I submitted a patch to fix this. See the LKML thread .\" "[patch] Fix type errors in inotify interfaces", 18 Nov 2008 .\" Glibc bug filed: http://sources.redhat.com/bugzilla/show_bug.cgi?id=7040 - uint32_t mask; /* ¥¤¥Ù¥ó¥È¤Î¥Þ¥¹¥¯ */ - uint32_t cookie; /* ´ØÏ¢¤¹¤ë¥¤¥Ù¥ó¥È·²¤ò´ØÏ¢¤Å¤±¤ë - °ì°Õ¤Ê¥¯¥Ã¥­¡¼ (rename(2) ÍÑ) */ - uint32_t len; /* \(aqname\(aq ¥Õ¥£¡¼¥ë¥É¤Î¥µ¥¤¥º */ - char name[]; /* NULL ¤Ç½ªÃ¼¤µ¤ì¤¿Ç¤°Õ¤Î̾Á° */ +struct inotify_event { + int wd; /* 監視対象ディスクリプタ */ + uint32_t mask; /* イベントのマスク */ + uint32_t cookie; /* 関連するイベント群を関連づける + 一意なクッキー (rename(2) 用) */ + uint32_t len; /* \(aqname\(aq フィールドのサイズ */ + char name[]; /* NULL で終端された任意の名前 */ }; .fi .in -.I wd -¤Ï¥¤¥Ù¥ó¥ÈȯÀ¸¤Î´Æ»ëÂоݤò»ØÄꤹ¤ë¡£ -¤³¤ì¤Ï¡¢Á°¤â¤Ã¤Æ¹Ô¤ï¤ì¤¿ -.BR inotify_add_watch (2) -¸Æ¤Ó½Ð¤·¤ÇÊÖ¤µ¤ì¤¿´Æ»ëÂоݥǥ£¥¹¥¯¥ê¥×¥¿¤Î¤¦¤Á¤Î 1 ¤Ä¤Ç¤¢¤ë¡£ +\fIwd\fP はイベント発生の監視対象を指定する。 これは、前もって行われた \fBinotify_add_watch\fP(2) +呼び出しで返された監視対象ディスクリプタのうちの 1 つである。 + +\fImask\fP には発生したイベント (下記参照) を記述するためのビットが含まれる。 -.I mask -¤Ë¤ÏȯÀ¸¤·¤¿¥¤¥Ù¥ó¥È (²¼µ­»²¾È) ¤òµ­½Ò¤¹¤ë¤¿¤á¤Î¥Ó¥Ã¥È¤¬´Þ¤Þ¤ì¤ë¡£ +\fIcookie\fP は関連するイベントを関連づけるための一意な整数である。 +現在のところ、この値は rename イベントに対してのみ使われており、 +結果のペアである \fBIN_MOVED_FROM\fP と \fBIN_MOVED_TO\fP イベントを +アプリケーションで関連づけることができる。 +他のイベント種別の場合には、 \fIcookie\fP は 0 に設定する。 -.I cookie -¤Ï´ØÏ¢¤¹¤ë¥¤¥Ù¥ó¥È¤ò´ØÏ¢¤Å¤±¤ë¤¿¤á¤Î°ì°Õ¤ÊÀ°¿ô¤Ç¤¢¤ë¡£ -¸½ºß¤Î¤È¤³¤í¡¢¤³¤ÎÃÍ¤Ï rename ¥¤¥Ù¥ó¥È¤ËÂФ·¤Æ¤Î¤ß»È¤ï¤ì¤Æ¤ª¤ê¡¢ -·ë²Ì¤Î¥Ú¥¢¤Ç¤¢¤ë -.B IN_MOVE_FROM -¤È -.B IN_MOVE_TO -¥¤¥Ù¥ó¥È¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç´ØÏ¢¤Å¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ +\fIname\fP フィールドは監視しているディレクトリ内のファイルに対して イベントが返される場合のためにだけ存在する。 +監視するディレクトリからのファイルの相対パス名を表す。 このパス名は NULL で終端され、 その後の読み込みで適切なアドレス境界に調整するために、 +さらに NULL バイトが含まれる場合もある。 -.I name -¥Õ¥£¡¼¥ë¥É¤Ï´Æ»ë¤·¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ -¥¤¥Ù¥ó¥È¤¬ÊÖ¤µ¤ì¤ë¾ì¹ç¤Î¤¿¤á¤Ë¤À¤±Â¸ºß¤¹¤ë¡£ -´Æ»ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¥Õ¥¡¥¤¥ë¤ÎÁêÂХѥ¹Ì¾¤òɽ¤¹¡£ -¤³¤Î¥Ñ¥¹Ì¾¤Ï NULL ¤Ç½ªÃ¼¤µ¤ì¡¢ -¤½¤Î¸å¤ÎÆɤ߹þ¤ß¤ÇŬÀڤʥ¢¥É¥ì¥¹¶­³¦¤ËÄ´À°¤¹¤ë¤¿¤á¤Ë¡¢ -¤µ¤é¤Ë NULL ¥Ð¥¤¥È¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤â¤¢¤ë¡£ +\fIlen\fP フィールドは NULL バイトを含む \fIname\fP の全てのバイト数を表す。 +よって、 \fIinotify_event\fP 構造体のサイズは +\fIsizeof(struct inotify_event)+len\fP である。 -.I len -¥Õ¥£¡¼¥ë¥É¤Ï NULL ¥Ð¥¤¥È¤ò´Þ¤à -.I name -¤ÎÁ´¤Æ¤Î¥Ð¥¤¥È¿ô¤òɽ¤¹¡£ -¤è¤Ã¤Æ¡¢ -.I inotify_event -¹½Â¤ÂΤΥµ¥¤¥º¤Ï -.I "sizeof(inotify_event)+len" -¤Ç¤¢¤ë¡£ +\fBread\fP(2) に渡されたバッファが小さすぎて次のイベントに関する情報を返せ +ない場合の動作はカーネルのバージョンにより異なる。 2.6.21 より前のカー +ネルでは、 \fBread\fP(2) は 0 を返す。 2.6.21 以降のカーネルでは、 +\fBread\fP(2) はエラー \fBEINVAL\fP で失敗する。 +バッファサイズとして -.BR read (2) -¤ËÅϤµ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤¬¾®¤µ¤¹¤®¤Æ¼¡¤Î¥¤¥Ù¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó¤òÊÖ¤»¤Ê¤¤ -¾ì¹ç¤ÎÆ°ºî¤Ï¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤ê°Û¤Ê¤ë¡£ -2.6.21 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ -.BR read (2) -¤Ï 0 ¤òÊÖ¤¹¡£ -2.6.21 °Ê¹ß¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ -.BR read (2) -¤Ï¥¨¥é¡¼ -.B EINVAL -¤Ç¼ºÇÔ¤¹¤ë¡£ -.SS inotify ¥¤¥Ù¥ó¥È -.BR inotify_add_watch (2) -¤Î -.I mask -°ú¤­¿ô¤È¡¢inotify ¥Õ¥¡¥¤¥ë¹½Â¤ÂΤò -.BR read (2) -¤·¤¿¤È¤­¤ËÊÖ¤µ¤ì¤ë -.I inotify_event -¹½Â¤ÂΤΠ-.I mask -¥Õ¥£¡¼¥ë¥É¤Ï¡¢¤È¤â¤Ë inotify ¥¤¥Ù¥ó¥È¤ò¼±Ê̤¹¤ë¤¿¤á¤Î -¥Ó¥Ã¥È¥Þ¥¹¥¯¤Ç¤¢¤ë¡£ -°Ê²¼¤Î¥Ó¥Ã¥È¤¬ -.BR inotify_add_watch (2) -¤ò¸Æ¤Ö¤È¤­¤Î -.I mask -¤Ë»ØÄê²Äǽ¤Ç¤¢¤ê¡¢ -.BR read (2) -¤ÇÊÖ¤µ¤ì¤ë -.I mask -¥Õ¥£¡¼¥ë¥É¤ÇÊÖ¤µ¤ì¤ë: + sizeof(struct inotify_event) + NAME_MAX + 1 + +を指定すれば、少なくとも 1 イベントで読み出しを行うには十分である。 +.SS "inotify イベント" +\fBinotify_add_watch\fP(2) の \fImask\fP 引き数と、inotify ファイル構造体を \fBread\fP(2) +したときに返される \fIinotify_event\fP 構造体の \fImask\fP フィールドは、ともに inotify イベントを識別するための +ビットマスクである。 以下のビットが \fBinotify_add_watch\fP(2) を呼ぶときの \fImask\fP に指定可能であり、 +\fBread\fP(2) で返される \fImask\fP フィールドで返される: .RS 4 .sp .PD 0 -.TP 18 -.B IN_ACCESS -¥Õ¥¡¥¤¥ë¤¬¥¢¥¯¥»¥¹ (read) ¤µ¤ì¤¿¡£(*) -.TP -.B IN_ATTRIB -¥á¥¿¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¡£ -¥á¥¿¥Ç¡¼¥¿¤È¤Ï¡¢Î㤨¤Ð¡¢µö²Ä (permission)¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¡¢³Èĥ°À­¡¢ -¥ê¥ó¥¯¥«¥¦¥ó¥È (Linux 2.6.25 °Ê¹ß)¡¢UID¡¢GID ¤Ê¤É¤Ç¤¢¤ë¡£(*) -.TP -.B IN_CLOSE_WRITE -½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿¡£(*) -.TP -.B IN_CLOSE_NOWRITE -½ñ¤­¹þ¤ß°Ê³°¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿¡£(*) -.TP -.B IN_CREATE -´Æ»ëÂоݥǥ£¥ì¥¯¥È¥êÆâ¤Ç¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤¿¡£(*) -.TP -.B IN_DELETE -´Æ»ëÂоݥǥ£¥ì¥¯¥È¥êÆâ¤Ç¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤¬ºï½ü¤µ¤ì¤¿¡£(*) -.TP -.B IN_DELETE_SELF -´Æ»ëÂоݤΥǥ£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¼«¿È¤¬ºï½ü¤µ¤ì¤¿¡£ -.TP -.B IN_MODIFY -¥Õ¥¡¥¤¥ë¤¬½¤Àµ¤µ¤ì¤¿¡£(*) -.TP -.B IN_MOVE_SELF -´Æ»ëÂоݤΥǥ£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¼«¿È¤¬°ÜÆ°¤µ¤ì¤¿¡£ -.TP -.B IN_MOVED_FROM -¥Õ¥¡¥¤¥ë¤¬´Æ»ëÂоݥǥ£¥ì¥¯¥È¥ê³°¤Ø°ÜÆ°¤µ¤ì¤¿¡£(*) -.TP -.B IN_MOVED_TO -¥Õ¥¡¥¤¥ë¤¬´Æ»ëÂоݥǥ£¥ì¥¯¥È¥êÆâ¤Ø°ÜÆ°¤µ¤ì¤¿¡£(*) -.TP -.B IN_OPEN -¥Õ¥¡¥¤¥ë¤¬¥ª¡¼¥×¥ó¤µ¤ì¤¿¡£(*) +.TP 18 +\fBIN_ACCESS\fP +ファイルがアクセス (read) された。(*) +.TP +\fBIN_ATTRIB\fP +メタデータが変更された。 メタデータとは、例えば、許可 (permission)、タイムスタンプ、拡張属性、 リンクカウント (Linux 2.6.25 +以降)、UID、GID などである。(*) +.TP +\fBIN_CLOSE_WRITE\fP +書き込みのためにオープンされたファイルがクローズされた。(*) +.TP +\fBIN_CLOSE_NOWRITE\fP +書き込み以外のためにオープンされたファイルがクローズされた。(*) +.TP +\fBIN_CREATE\fP +監視対象ディレクトリ内でファイルやディレクトリが作成された。(*) +.TP +\fBIN_DELETE\fP +監視対象ディレクトリ内でファイルやディレクトリが削除された。(*) +.TP +\fBIN_DELETE_SELF\fP +監視対象のディレクトリまたはファイル自身が削除された。 +.TP +\fBIN_MODIFY\fP +ファイルが修正された。(*) +.TP +\fBIN_MOVE_SELF\fP +監視対象のディレクトリまたはファイル自身が移動された。 +.TP +\fBIN_MOVED_FROM\fP +ファイルが監視対象ディレクトリ外へ移動された。(*) +.TP +\fBIN_MOVED_TO\fP +ファイルが監視対象ディレクトリ内へ移動された。(*) +.TP +\fBIN_OPEN\fP +ファイルがオープンされた。(*) .PD .RE .PP -¥Ç¥£¥ì¥¯¥È¥ê¤ò´Æ»ë¤¹¤ë¾ì¹ç¡¢ -¾åµ­¤Ç¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤òÉÕ¤±¤¿¥¤¥Ù¥ó¥È¤Ï¡¢ -¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆȯÀ¸¤¹¤ë¡£ -¤³¤Î¤È¤­ -.I inotify_event -¹½Â¤ÂΤÇÊÖ¤µ¤ì¤ë -.I name -¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë̾¤òɽ¤¹¡£ +ディレクトリを監視する場合、 上記でアスタリスク (*) を付けたイベントは、 そのディレクトリ内のファイルに対して発生する。 このとき +\fIinotify_event\fP 構造体で返される \fIname\fP フィールドは、ディレクトリ内のファイル名を表す。 .PP -.B IN_ALL_EVENTS -¥Þ¥¯¥í¤Ï¾åµ­¤Î¥¤¥Ù¥ó¥ÈÁ´¤Æ¤Î¥Þ¥¹¥¯¤È¤·¤ÆÄêµÁ¤µ¤ì¤ë¡£ -¤³¤Î¥Þ¥¯¥í¤Ï -.BR inotify_add_watch (2) -¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Î -.I mask -°ú¤­¿ô¤È¤·¤Æ»È¤¨¤ë¡£ +\fBIN_ALL_EVENTS\fP マクロは上記のイベント全てのマスクとして定義される。 このマクロは \fBinotify_add_watch\fP(2) +を呼び出すときの \fImask\fP 引き数として使える。 -¤µ¤é¤Ë 2 ¤Ä¤ÎÊØÍø¤Ê¥Þ¥¯¥í¤¬¤¢¤ë¡£ -.B IN_MOVE -¤Ï -IN_MOVED_FROM|IN_MOVED_TO -¤ÈÅù¤·¤¯¡¢ -.B IN_CLOSE -¤Ï -IN_CLOSE_WRITE|IN_CLOSE_NOWRITE -¤ÈÅù¤·¤¤¡£ +さらに 2 つの便利なマクロがある。 +\fBIN_MOVE\fP は IN_MOVED_FROM|IN_MOVED_TO と同じで、 +\fBIN_CLOSE\fP は IN_CLOSE_WRITE|IN_CLOSE_NOWRITE と同じである。 .PP -¤½¤Î¾¤Ë¤â°Ê²¼¤Î¥Ó¥Ã¥È¤ò -.BR inotify_add_watch (2) -¤ò¸Æ¤Ö¤È¤­¤Î -.I mask -¤Ë»ØÄê¤Ç¤­¤ë: +その他にも以下のビットを \fBinotify_add_watch\fP(2) を呼ぶときの \fImask\fP に指定できる: .RS 4 .sp .PD 0 -.TP 18 -.B IN_DONT_FOLLOW -\fIpathname\fP ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë¾ì¹ç¤Ëé¤é¤Ê¤¤¡£ -(Linux 2.6.15 °Ê¹ß) -.TP -.B IN_MASK_ADD -\fIpathname\fP ¤ËÂФ¹¤ë´Æ»ë¥Þ¥¹¥¯¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢ -(¥Þ¥¹¥¯¤ÎÃÖ¤­´¹¤¨¤Ç¤Ï¤Ê¤¯) ¥¤¥Ù¥ó¥È¤òÄɲà (OR) ¤¹¤ë¡£ -.TP -.B IN_ONESHOT -1 ¤Ä¤Î¥¤¥Ù¥ó¥È¤Ë¤Ä¤¤¤Æ \fIpathname\fP ¤ò´Æ»ë¤·¡¢ -¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤¿¤é´Æ»ëÂоݥꥹ¥È¤«¤éºï½ü¤¹¤ë¡£ -.TP -.BR IN_ONLYDIR " (Linux 2.6.15 °Ê¹ß)" -\fIpathname\fP ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¤Ë¤Î¤ß´Æ»ë¤¹¤ë¡£ +.TP 18 +\fBIN_DONT_FOLLOW\fP +\fIpathname\fP がシンボリックリンクである場合に辿らない。 (Linux 2.6.15 以降) +.TP +\fBIN_EXCL_UNLINK\fP (Linux 2.6.36 以降) +.\" commit 8c1934c8d70b22ca8333b216aec6c7d09fdbd6a6 +デフォルトでは、あるディレクトリの子ファイルに関するイベントを監視 (watch) した際、ディレクトリからその子ファイルが削除 (unlink) +された場合であってもその子ファイルに対してイベントが生成される。このことは、アプリケーションによってはあまり興味のないイベントが大量に発生することにつながる +(例えば、\fI/tmp\fP を監視している場合、たくさんのアプリケーションが、すぐにその名前が削除される一時ファイルをそのディレクトリに作成する)。 +\fBIN_EXCL_UNLINK\fP +を指定するとこのデフォルトの動作を変更でき、監視対象のディレクトリから子ファイルが削除された後に子ファイルに関するイベントが生成されなくなる。 +.TP +\fBIN_MASK_ADD\fP +\fIpathname\fP に対する監視マスクが既に存在する場合、 (マスクの置き換えではなく) イベントを追加 (OR) する。 +.TP +\fBIN_ONESHOT\fP +1 つのイベントについて \fIpathname\fP を監視し、 イベントが発生したら監視対象リストから削除する。 +.TP +\fBIN_ONLYDIR\fP (Linux 2.6.15 以降) +\fIpathname\fP がディレクトリの場合にのみ監視する。 .PD .RE .PP -°Ê²¼¤Î¥Ó¥Ã¥È¤¬ -.BR read (2) -¤ÇÊÖ¤µ¤ì¤ë -.I mask -¥Õ¥£¡¼¥ë¥É¤ËÀßÄꤵ¤ì¤ë: +以下のビットが \fBread\fP(2) で返される \fImask\fP フィールドに設定される: .RS 4 .sp .PD 0 -.TP 18 -.B IN_IGNORED -´Æ»ëÂоݤ¬ (\fBinotify_rm_watch\fP(2) ¤Ë¤è¤ê) ÌÀ¼¨Åª¤Ë -ºï½ü¤µ¤ì¤¿¡£¤â¤·¤¯¤Ï (¥Õ¥¡¥¤¥ë¤Îºï½ü¡¢¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë -¥·¥¹¥Æ¥à¤Î¥¢¥ó¥Þ¥¦¥ó¥È¤Ë¤è¤ê) ¼«Æ°Åª¤Ëºï½ü¤µ¤ì¤¿¡£ -.TP -.B IN_ISDIR -¤³¤Î¥¤¥Ù¥ó¥È¤ÎÂоݤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¡£ -.TP -.B IN_Q_OVERFLOW -¥¤¥Ù¥ó¥È¥­¥å¡¼¤¬°î¤ì¤¿ (¤³¤Î¥¤¥Ù¥ó¥È¤Î¾ì¹ç¡¢\fIwd\fP ¤Ï \-1 ¤Ç¤¢¤ë)¡£ -.TP -.B IN_UNMOUNT -´Æ»ëÂоݥª¥Ö¥¸¥§¥¯¥È¤ò´Þ¤à¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥¢¥ó¥Þ¥¦¥ó¥È¤µ¤ì¤¿¡£ +.TP 18 +\fBIN_IGNORED\fP +監視対象が (\fBinotify_rm_watch\fP(2) により) 明示的に 削除された。もしくは (ファイルの削除、またはファイル +システムのアンマウントにより) 自動的に削除された。 +.TP +\fBIN_ISDIR\fP +このイベントの対象がディレクトリである。 +.TP +\fBIN_Q_OVERFLOW\fP +イベントキューが溢れた (このイベントの場合、\fIwd\fP は \-1 である)。 +.TP +\fBIN_UNMOUNT\fP +監視対象オブジェクトを含むファイルシステムがアンマウントされた。 .PD .RE -.SS /proc ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ -°Ê²¼¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢inotify ¤Ç¾ÃÈñ¤µ¤ì¤ë -¥«¡¼¥Í¥ë¥á¥â¥ê¤ÎÁíÎ̤òÀ©¸Â¤¹¤ë¤Î¤Ë»ÈÍѤǤ­¤ë: -.TP -.I /proc/sys/fs/inotify/max_queued_events -¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃͤϡ¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ -.BR inotify_init (2) -¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë»ÈÍѤµ¤ì¡¢Âбþ¤¹¤ë inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¤Ä¤¤¤Æ -¥­¥å¡¼¤ËÆþ¤ì¤é¤ì¤ë¥¤¥Ù¥ó¥È¤Î¿ô¤Î¾å¸Â¤òÀßÄꤹ¤ë¡£ -¤³¤ÎÀ©¸Â¤òĶ¤¨¤¿¥¤¥Ù¥ó¥È¤ÏÇË´þ¤µ¤ì¤ë¤¬¡¢ -.B IN_Q_OVERFLOW -¥¤¥Ù¥ó¥È¤¬¾ï¤ËÀ¸À®¤µ¤ì¤ë¡£ -.TP -.I /proc/sys/fs/inotify/max_user_instances -1 ¤Ä¤Î¼Â¥æ¡¼¥¶ ID ¤ËÂФ·¤ÆÀ¸À®¤Ç¤­¤ë -inotify ¥¤¥ó¥¹¥¿¥ó¥¹¤Î¿ô¤Î¾å¸Â¤ò»ØÄꤹ¤ë¡£ -.TP -.I /proc/sys/fs/inotify/max_user_watches -ºîÀ®²Äǽ¤Ê´Æ»ëÂоݤοô¤Î¼Â UID ñ°Ì¤Î¾å¸Â¤ò»ØÄꤹ¤ë¡£ -.SH ¥Ð¡¼¥¸¥ç¥ó -inotify ¤Ï 2.6.13 ¤Î Linux ¥«¡¼¥Í¥ë¤ËÁȹþ¤Þ¤ì¤¿¡£ -¤³¤ì¤ËɬÍפʥ饤¥Ö¥é¥ê¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢ -glibc ¤Î¥Ð¡¼¥¸¥ç¥ó 2.4 ¤ËÄɲ䵤줿 -.RB ( IN_DONT_FOLLOW , -.BR IN_MASK_ADD , -.B IN_ONLYDIR -¤À¤±¤Ï¥Ð¡¼¥¸¥ç¥ó 2.5 ¤ÇÄɲ䵤줿)¡£ -.SH ½àµò -inotify API ¤Ï Linux Æȼ«¤Î¤â¤Î¤Ç¤¢¤ë¡£ -.SH Ãí°Õ -inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï -.BR select (2), -.BR poll (2), -.BR epoll (7) -¤ò»È¤Ã¤Æ´Æ»ë¤Ç¤­¤ë¡£ -¥¤¥Ù¥ó¥È¤¬¤¢¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÏÆɤ߹þ¤ß²Äǽ¤ÈÄÌÃΤ¹¤ë¡£ +.SS "/proc インターフェース" +以下のインターフェースは、inotify で消費される カーネルメモリの総量を制限するのに使用できる: +.TP +\fI/proc/sys/fs/inotify/max_queued_events\fP +このファイルの値は、アプリケーションが \fBinotify_init\fP(2) を呼び出すときに使用され、対応する inotify インスタンスについて +キューに入れられるイベントの数の上限を設定する。 この制限を超えたイベントは破棄されるが、 \fBIN_Q_OVERFLOW\fP イベントが常に生成される。 +.TP +\fI/proc/sys/fs/inotify/max_user_instances\fP +1 つの実ユーザ ID に対して生成できる inotify インスタンスの数の上限を指定する。 +.TP +\fI/proc/sys/fs/inotify/max_user_watches\fP +作成可能な監視対象の数の実 UID 単位の上限を指定する。 +.SH バージョン +inotify は 2.6.13 の Linux カーネルに組込まれた。 これに必要なライブラリのインターフェースは、 glibc のバージョン 2.4 +に追加された (\fBIN_DONT_FOLLOW\fP, \fBIN_MASK_ADD\fP, \fBIN_ONLYDIR\fP だけはバージョン 2.5 +で追加された)。 +.SH 準拠 +inotify API は Linux 独自のものである。 +.SH 注意 +inotify ファイルディスクリプタは \fBselect\fP(2), \fBpoll\fP(2), \fBepoll\fP(7) を使って監視できる。 +イベントがある場合、ファイルディスクリプタは読み込み可能と通知する。 + +Linux 2.6.25 以降では、シグナル駆動 (signal\-driven) I/O の通知が inotify +ファイルディスクリプタについて利用可能である。 \fBfcntl\fP(2) に書かれている (\fBO_ASYNC\fP フラグを設定するための) +\fBF_SETFL\fP, \fBF_SETOWN\fP, \fBF_SETSIG\fP の議論を参照のこと。 シグナルハンドラに渡される \fIsiginfo_t\fP +構造体は、以下のフィールドが設定される (\fIsiginfo_t\fP は \fBsigaction\fP(2) で説明されている)。 \fIsi_fd\fP には +inotify ファイルディスクリプタ番号が、 \fIsi_signo\fP にはシグナル番号が、 \fIsi_code\fP には \fBPOLL_IN\fP が、 +\fIsi_band\fP には \fBPOLLIN\fP が設定される。 + +inotify ファイルディスクリプタに対して 連続して生成される出力 inotify イベントが同一の場合 (\fIwd\fP, \fImask\fP, +\fIcookie\fP, \fIname\fP が等しい場合)、 前のイベントがまだ読み込まれていなければ、 連続するイベントが 1 つのイベントにまとめられる +(ただし「バグ」の節も参照のこと)。 + +inotify ファイルディスクリプタの読み込みで返されるイベントは、 順序付けられたキューになる。 +従って、たとえば、あるディレクトリの名前を別の名前に変更した場合、 inotify ファイルディスクリプタについての正しい順番で +イベントが生成されることが保証される。 + +\fBFIONREAD\fP \fBioctl\fP(2) は inotify ファイルディスクリプタから何バイト読み込めるかを返す。 +.SS 制限と警告 +inotify によるディレクトリの監視は再帰的に行われない: あるディレクトリ以下の +サブディレクトリを監視する場合、 監視対象を追加で作成しなければならない。 +大きなディレクトリツリーの場合には、この作業にかなり時間がかかることがある。 -Linux 2.6.25 °Ê¹ß¤Ç¤Ï¡¢¥·¥°¥Ê¥ë¶îÆ° (signal-driven) I/O ¤ÎÄÌÃΤ¬ -inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¤Ä¤¤¤ÆÍøÍѲÄǽ¤Ç¤¢¤ë¡£ -.BR fcntl (2) -¤Ë½ñ¤«¤ì¤Æ¤¤¤ë -.RB ( O_ASYNC -¥Õ¥é¥°¤òÀßÄꤹ¤ë¤¿¤á¤Î) -.BR F_SETFL , -.BR F_SETOWN , -.B F_SETSIG -¤ÎµÄÏÀ¤ò»²¾È¤Î¤³¤È¡£ -¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ËÅϤµ¤ì¤ë -.I siginfo_t -¹½Â¤ÂΤϡ¢°Ê²¼¤Î¥Õ¥£¡¼¥ë¥É¤¬ÀßÄꤵ¤ì¤ë -.RI ( siginfo_t -¤Ï -.BR sigaction (2) -¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë)¡£ -.I si_fd -¤Ë¤Ï inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿Èֹ椬¡¢ -.I si_signo -¤Ë¤Ï¥·¥°¥Ê¥ëÈֹ椬¡¢ -.I si_code -¤Ë¤Ï -.BR POLL_IN -¤¬¡¢ -.I si_band -¤Ë¤Ï -.B POLLIN -¤¬ÀßÄꤵ¤ì¤ë¡£ +inotify API では、inotify イベントが発生するきっかけとなったユーザやプロセスに関する情報は提供されない。とりわけ、inotify +経由でイベントを監視しているプロセスが、自分自身がきっかけとなったイベントと他のプロセスがきっかけとなったイベントを区別する簡単な手段はない。 -inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ËÂФ·¤Æ -Ϣ³¤·¤ÆÀ¸À®¤µ¤ì¤ë½ÐÎÏ inotify ¥¤¥Ù¥ó¥È¤¬Æ±°ì¤Î¾ì¹ç -.RI ( wd , -.IR mask , -.IR cookie , -.I name -¤¬Åù¤·¤¤¾ì¹ç)¡¢ -Á°¤Î¥¤¥Ù¥ó¥È¤¬¤Þ¤ÀÆɤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ -Ϣ³¤¹¤ë¥¤¥Ù¥ó¥È¤¬ 1 ¤Ä¤Î¥¤¥Ù¥ó¥È¤Ë¤Þ¤È¤á¤é¤ì¤ë -(¤¿¤À¤·¡Ö¥Ð¥°¡×¤ÎÀá¤â»²¾È¤Î¤³¤È)¡£ +イベントキューは溢れる場合があることに注意すること。この場合にはイベントは +失われてしまう。堅牢性が必要なアプリケーションでは、イベントが失われる可能性 +を適切に扱う必要がある。 -inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÎÆɤ߹þ¤ß¤ÇÊÖ¤µ¤ì¤ë¥¤¥Ù¥ó¥È¤Ï¡¢ -½ç½øÉÕ¤±¤é¤ì¤¿¥­¥å¡¼¤Ë¤Ê¤ë¡£ -½¾¤Ã¤Æ¡¢¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤òÊ̤Î̾Á°¤ËÊѹ¹¤·¤¿¾ì¹ç¡¢ -inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¤Ä¤¤¤Æ¤ÎÀµ¤·¤¤½çÈÖ¤Ç -¥¤¥Ù¥ó¥È¤¬À¸À®¤µ¤ì¤ë¤³¤È¤¬Êݾڤµ¤ì¤ë¡£ +inotify API では影響が受けるファイルをファイル名で特定する。 +しかしながら、アプリケーションが inotify イベントを処理する時点では、 +そのファイル名がすでに削除されたり変更されたりしている可能性がある。 -.B FIONREAD -.BR ioctl (2) -¤Ï inotify ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤«¤é²¿¥Ð¥¤¥ÈÆɤ߹þ¤á¤ë¤«¤òÊÖ¤¹¡£ +ディレクトリツリー全体を監視していて、そのツリー内に新しいサブディレクトリが +作成される場合、新しいサブディレクトリに対する watch を作成するまでに、 +新しいファイルがそのサブディレクトリ内にすでに作成されている場合がある点に +注意すること。したがって、watch を追加した直後にサブディレクトリの内容を +スキャンしたいと思う場合もあるだろう。 +.SH バグ +2.6.16 以前のカーネルでは \fBIN_ONESHOT\fP \fImask\fP フラグが働かない。 -inotify ¤Ë¤è¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î´Æ»ë¤ÏºÆµ¢Åª¤Ë¹Ô¤ï¤ì¤Ê¤¤: -¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò´Æ»ë¤¹¤ë¾ì¹ç¡¢ -´Æ»ëÂоݤòÄɲäǺîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -.SH ¥Ð¥° -2.6.16 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï -.B IN_ONESHOT -.I mask -¥Õ¥é¥°¤¬Æ¯¤«¤Ê¤¤¡£ +カーネル 2.6.25 より前では、 連続する同一のイベントを一つにまとめることを意図したコード (古い方のイベントがまだ読み込まれていない場合に、 +最新の 2 つのイベントを一つにまとめられる可能性がある) が、 最新のイベントが「最も古い」読み込まれていないイベントとまとめられるか +をチェックするようになっていた。 +.SH 関連項目 +\fBinotify_add_watch\fP(2), \fBinotify_init\fP(2), \fBinotify_init1\fP(2), +\fBinotify_rm_watch\fP(2), \fBread\fP(2), \fBstat\fP(2) -¥«¡¼¥Í¥ë 2.6.25 ¤è¤êÁ°¤Ç¤Ï¡¢ -Ϣ³¤¹¤ëƱ°ì¤Î¥¤¥Ù¥ó¥È¤ò°ì¤Ä¤Ë¤Þ¤È¤á¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿¥³¡¼¥É -(¸Å¤¤Êý¤Î¥¤¥Ù¥ó¥È¤¬¤Þ¤ÀÆɤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¡¢ -ºÇ¿·¤Î 2 ¤Ä¤Î¥¤¥Ù¥ó¥È¤ò°ì¤Ä¤Ë¤Þ¤È¤á¤é¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë) ¤¬¡¢ -ºÇ¿·¤Î¥¤¥Ù¥ó¥È¤¬¡ÖºÇ¤â¸Å¤¤¡×Æɤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¥¤¥Ù¥ó¥È¤È¤Þ¤È¤á¤é¤ì¤ë¤« -¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿¡£ -.SH ´ØÏ¢¹àÌÜ -.BR inotify_add_watch (2), -.BR inotify_init (2), -.BR inotify_init1 (2), -.BR inotify_rm_watch (2), -.BR read (2), -.BR stat (2), -.IR Documentation/filesystems/inotify.txt . +Linux カーネルソース内の \fIDocumentation/filesystems/inotify.txt\fP +.SH この文書について +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 +である。プロジェクトの説明とバグ報告に関する情報は +http://www.kernel.org/doc/man\-pages/ に書かれている。