OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man7 / inotify.7
index 4824e7d..f5a720f 100644 (file)
@@ -53,35 +53,35 @@ inotify \- ファイルシステムイベントを監視する
 
 この API では以下のシステムコールが使用される。
 .IP * 3
-\fBinotify_init\fP(2)  は inotify インスタンスを作成し、inotify インスタンスを参照する ファイルディスクリプタを返す。
-より新しい \fBinotify_init1\fP(2)  も \fBinotify_init\fP(2)  と同様だが、
+\fBinotify_init\fP(2)  は inotify インスタンスを作成し、inotify インスタンスを参照する
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\82\88ã\82\8aæ\96°ã\81\97ã\81\84 \fBinotify_init1\fP(2)  ã\82\82 \fBinotify_init\fP(2)  ã\81¨å\90\8cæ§\98ã\81 ã\81\8cã\80\81
 こちらにはいくつかの追加の機能を利用するための \fIflags\fP 引き数がある。
 .IP *
 \fBinotify_add_watch\fP(2)  は inotify インスタンスに関連づけられた「監視対象 (watch) リスト」を操作する。
 監視対象リストの各アイテム ("watch") は、 ファイルまたはディレクトリのパス名と、 そのパス名で参照されるファイルに対して
 カーネルが監視する複数のイベントの集合を指定する。 \fBinotify_add_watch\fP(2)
-は新しい監視アイテムの作成や既存の監視対象の変更ができる。 各監視対象は一意の「監視対象ディスクリプタ」を持つ。 これは監視対象を作成したときに
\81¯æ\96°ã\81\97ã\81\84ç\9b£è¦\96ã\82¢ã\82¤ã\83\86ã\83 ã\81®ä½\9cæ\88\90ã\82\84æ\97¢å­\98ã\81®ç\9b£è¦\96対象ã\81®å¤\89æ\9b´ã\81\8cã\81§ã\81\8dã\82\8bã\80\82 å\90\84ç\9b£è¦\96対象ã\81¯ä¸\80æ\84\8fã\81®ã\80\8cç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\80\8dã\82\92æ\8c\81ã\81¤ã\80\82 ã\81\93ã\82\8cã\81¯ç\9b£è¦\96対象ã\82\92ä½\9cæ\88\90ã\81\97ã\81\9fã\81¨ã\81\8dã\81«
 \fBinotify_add_watch\fP(2)  から返される整数である。
 .IP *
-監視しているファイルやディレクトリでイベントが起こると、 それらのイベントはアプリケーションから inotify ファイルディスクリプタから
\9b£è¦\96ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82\84ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81§ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cèµ·ã\81\93ã\82\8bã\81¨ã\80\81 ã\81\9dã\82\8cã\82\89ã\81®ã\82¤ã\83\99ã\83³ã\83\88ã\81¯ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81\8bã\82\89 inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8bã\82\89
 \fBread\fP(2) を使って構造化データとして読み出すことができる (下記参照)。
 .IP *
 \fBinotify_rm_watch\fP(2)  は inotify の監視対象リストからアイテムを削除する。
 .IP *
-inotify インスタンスを指している 全てのファイルディスクリプタが (\fBclose\fP(2) を使って) クローズされた場合、
+inotify ã\82¤ã\83³ã\82¹ã\82¿ã\83³ã\82¹ã\82\92æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8b å\85¨ã\81¦ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8c (\fBclose\fP(2) ã\82\92使ã\81£ã\81¦) ã\82¯ã\83­ã\83¼ã\82ºã\81\95ã\82\8cã\81\9få ´å\90\88ã\80\81
 その下層にあるオブジェクトとそのリソースは、 カーネルで再利用するために解放される。 関連が切られた監視対象は自動的に解放される。
 .PP
 注意深くプログラミングすることで、 アプリケーションは inotify
 を使ってファイルシステムオブジェクトの集合の状態を効率的に監視しキャッシュしておくことができる。
 しかしながら、ロバストなアプリケーションでは、監視ロジックのバグや以下に説明があるような種類の競合条件によりファイルシステムの状態とキャッシュが一致しない状態になることがあるという事実も考慮に入れておくべきである。
 おそらく何らかの一貫性のチェックを行い、不一致が検出された場合にはキャッシュを再構築するのが懸命だろう。
-.SS "inotify ファイルディスクリプタからのイベントの読み出し"
-どのようなイベントが起こっていたかを知るには、 アプリケーションで inotify ファイルディスクリプタを \fBread\fP(2)  すればよい。
-これまでに何もイベントが起こっていない場合、 停止 (blocking) モードのファイルディスクリプタであれば、 少なくとも 1
+.SS "inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8bã\82\89ã\81®ã\82¤ã\83\99ã\83³ã\83\88ã\81®èª­ã\81¿å\87ºã\81\97"
\81©ã\81®ã\82\88ã\81\86ã\81ªã\82¤ã\83\99ã\83³ã\83\88ã\81\8cèµ·ã\81\93ã\81£ã\81¦ã\81\84ã\81\9fã\81\8bã\82\92ç\9f¥ã\82\8bã\81«ã\81¯ã\80\81 ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81§ inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92 \fBread\fP(2)  ã\81\99ã\82\8cã\81°ã\82\88ã\81\84ã\80\82
\81\93ã\82\8cã\81¾ã\81§ã\81«ä½\95ã\82\82ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cèµ·ã\81\93ã\81£ã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\80\81 å\81\9cæ­¢ (blocking) ã\83¢ã\83¼ã\83\89ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82ã\82\8cã\81°ã\80\81 å°\91ã\81ªã\81\8fã\81¨ã\82\82 1
 つのイベントが起こるまで \fBread\fP(2)  は停止する (シグナルにより割り込まれなかった場合。
 シグナルによる割り込みがあった場合、呼び出しはエラー \fBEINTR\fP で失敗する。 \fBsignal\fP(7)  参照)。
 
-\fBread\fP(2)  が成功すると、以下の構造体を 1 つ以上含むバッファが返される:
+\fBread\fP(2)  ã\81\8cæ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81以ä¸\8bã\81®æ§\8bé\80 ä½\93ã\82\92 1 ã\81¤ä»¥ä¸\8aå\90«ã\82\80ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8b:
 .in +4n
 .nf
 
@@ -90,7 +90,7 @@ inotify インスタンスを指している 全てのファイルディスク
 .\" "[patch] Fix type errors in inotify interfaces", 18 Nov 2008
 .\" Glibc bug filed: http://sources.redhat.com/bugzilla/show_bug.cgi?id=7040
 struct inotify_event {
-    int      wd;       /* 監視対象ディスクリプタ */
+    int      wd;       /* 監視対象ディスクリプタ */
     uint32_t mask;     /* イベントを示すマスク */
     uint32_t cookie;   /* 関連するイベント群を関連づける
                           一意なクッキー (rename(2) 用) */
@@ -101,7 +101,7 @@ struct inotify_event {
 .in
 
 \fIwd\fP はイベント発生の監視対象を指定する。 これは、前もって行われた \fBinotify_add_watch\fP(2)
-呼び出しで返された監視対象ディスクリプタのうちの 1 つである。
\91¼ã\81³å\87ºã\81\97ã\81§è¿\94ã\81\95ã\82\8cã\81\9fç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®ã\81\86ã\81¡ã\81® 1 ã\81¤ã\81§ã\81\82ã\82\8bã\80\82
 
 \fImask\fP には発生したイベント (下記参照) を記述するためのビットが含まれる。
 
@@ -119,11 +119,11 @@ struct inotify_event {
 よって、 \fIinotify_event\fP 構造体のサイズは
 \fIsizeof(struct inotify_event)+len\fP である。
 
-\fBread\fP(2) に渡されたバッファが小さすぎて次のイベントに関する情報を返せ
+\fBread\fP(2) ã\81«æ¸¡ã\81\95ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81\8cå°\8fã\81\95ã\81\99ã\81\8eã\81¦æ¬¡ã\81®ã\82¤ã\83\99ã\83³ã\83\88ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\82\92è¿\94ã\81\9b
 ない場合の動作はカーネルのバージョンにより異なる。 2.6.21 より前のカー
 ネルでは、 \fBread\fP(2) は 0 を返す。 2.6.21 以降のカーネルでは、
 \fBread\fP(2) はエラー \fBEINVAL\fP で失敗する。
-バッファサイズとして
\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82µã\82¤ã\82ºã\81¨ã\81\97ã\81¦
 
     sizeof(struct inotify_event) + NAME_MAX + 1
 
@@ -159,7 +159,7 @@ struct inotify_event {
 \fBIN_DELETE_SELF\fP
 監視対象のファイルやディレクトリ自身が削除あれた。 (このイベントはオブジェクトが別のファイルシステムに移動された場合にも発生する。 \fBmv\fP(1)
 は実際には別のファイルシステムにファイルをコピーした後、元のファイルシステムからそのファイルを削除するからである。) また、
-結果的に監視ディスクリプタに対して \fBIN_IGNORED\fP イベントも生成される。
+çµ\90æ\9e\9cç\9a\84ã\81«ç\9b£è¦\96ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ \fBIN_IGNORED\fP ã\82¤ã\83\99ã\83³ã\83\88ã\82\82ç\94\9fæ\88\90ã\81\95ã\82\8cã\82\8bã\80\82
 .TP 
 \fBIN_MODIFY\fP (+)
 ファイルが変更された (\fBwrite\fP(2), \fBtruncate\fP(2) など)。
@@ -239,7 +239,7 @@ struct inotify_event {
 イベントキューが溢れた (このイベントの場合、\fIwd\fP は \-1 である)。
 .TP 
 \fBIN_UNMOUNT\fP
-監視対象オブジェクトを含むファイルシステムがアンマウントされた。さらに、この監視対象ディスクリプタに対して \fBIN_IGNORED\fP
\9b£è¦\96対象ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\82\92å\90«ã\82\80ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81\8cã\82¢ã\83³ã\83\9eã\82¦ã\83³ã\83\88ã\81\95ã\82\8cã\81\9fã\80\82ã\81\95ã\82\89ã\81«ã\80\81ã\81\93ã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ \fBIN_IGNORED\fP
 イベントが生成される。
 .RE
 .SS 例
@@ -302,14 +302,14 @@ rmdir("dir/subdir");
 \fBIN_DELETE | IN_ISDIR\fP イベントが生成される。
 .RE
 .SS "/proc インターフェース"
-以下のインターフェースは、inotify で消費される カーネルメモリの総量を制限するのに使用できる:
+以ä¸\8bã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81¯ã\80\81inotify ã\81§æ¶\88è²»ã\81\95ã\82\8cã\82\8b ã\82«ã\83¼ã\83\8dã\83«ã\83¡ã\83¢ã\83ªã\83¼ã\81®ç·\8fé\87\8fã\82\92å\88¶é\99\90ã\81\99ã\82\8bã\81®ã\81«ä½¿ç\94¨ã\81§ã\81\8dã\82\8b:
 .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 インスタンスの数の上限を指定する。
+1 つの実ユーザ ID に対して生成できる inotify インスタンスの数の上限を指定する。
 .TP 
 \fI/proc/sys/fs/inotify/max_user_watches\fP
 作成可能な監視対象の数の実 UID 単位の上限を指定する。
@@ -320,28 +320,28 @@ inotify は 2.6.13 の Linux カーネルに組込まれた。 これに必要
 .SH 準拠
 inotify API は Linux 独自のものである。
 .SH 注意
-inotify ファイルディスクリプタは \fBselect\fP(2), \fBpoll\fP(2), \fBepoll\fP(7)  を使って監視できる。
-イベントがある場合、ファイルディスクリプタは読み込み可能と通知する。
+inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ \fBselect\fP(2), \fBpoll\fP(2), \fBepoll\fP(7)  ã\82\92使ã\81£ã\81¦ç\9b£è¦\96ã\81§ã\81\8dã\82\8bã\80\82
\82¤ã\83\99ã\83³ã\83\88ã\81\8cã\81\82ã\82\8bå ´å\90\88ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯èª­ã\81¿è¾¼ã\81¿å\8f¯è\83½ã\81¨é\80\9aç\9f¥ã\81\99ã\82\8bã\80\82
 
 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
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«ã\81¤ã\81\84ã\81¦å\88©ç\94¨å\8f¯è\83½ã\81§ã\81\82ã\82\8bã\80\82 \fBfcntl\fP(2)  ã\81«æ\9b¸ã\81\8bã\82\8cã\81¦ã\81\84ã\82\8b (\fBO_ASYNC\fP ã\83\95ã\83©ã\82°ã\82\92設å®\9aã\81\99ã\82\8bã\81\9fã\82\81ã\81®)
+\fBF_SETFL\fP, \fBF_SETOWN\fP, \fBF_SETSIG\fP ã\81®è­°è«\96ã\82\92å\8f\82ç\85§ã\81®ã\81\93ã\81¨ã\80\82 ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81«æ¸¡ã\81\95ã\82\8cã\82\8b \fIsiginfo_t\fP
 構造体は、以下のフィールドが設定される (\fIsiginfo_t\fP は \fBsigaction\fP(2)  で説明されている)。 \fIsi_fd\fP には
-inotify ファイルディスクリプタ番号が、 \fIsi_signo\fP にはシグナル番号が、 \fIsi_code\fP には \fBPOLL_IN\fP が、
+inotify ファイルディスクリプタ番号が、 \fIsi_signo\fP にはシグナル番号が、 \fIsi_code\fP には \fBPOLL_IN\fP が、
 \fIsi_band\fP には \fBPOLLIN\fP が設定される。
 
-inotify ファイルディスクリプタに対して 連続して生成される出力 inotify イベントが同一の場合 (\fIwd\fP, \fImask\fP,
+inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ é\80£ç¶\9aã\81\97ã\81¦ç\94\9fæ\88\90ã\81\95ã\82\8cã\82\8bå\87ºå\8a\9b inotify ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cå\90\8cä¸\80ã\81®å ´å\90\88 (\fIwd\fP, \fImask\fP,
 \fIcookie\fP, \fIname\fP が等しい場合)、 前のイベントがまだ読み込まれていなければ、 連続するイベントが 1 つのイベントにまとめられる
-(ただし「バグ」の節も参照のこと)。 これによりイベントキューに必要なカーネルメモリ量が減るが、
+(ただし「バグ」の節も参照のこと)。 これによりイベントキューに必要なカーネルメモリ量が減るが、
 これはまたアプリケーションがファイルイベント数を信頼性を持って数えるのに inotify を使用できないということでもある。
 
-inotify ファイルディスクリプタの読み込みで返されるイベントは、 順序付けられたキューになる。
-従って、たとえば、あるディレクトリの名前を別の名前に変更した場合、 inotify ファイルディスクリプタについての正しい順番で
+inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®èª­ã\81¿è¾¼ã\81¿ã\81§è¿\94ã\81\95ã\82\8cã\82\8bã\82¤ã\83\99ã\83³ã\83\88ã\81¯ã\80\81 é \86åº\8fä»\98ã\81\91ã\82\89ã\82\8cã\81\9fã\82­ã\83¥ã\83¼ã\81«ã\81ªã\82\8bã\80\82
+å¾\93ã\81£ã\81¦ã\80\81ã\81\9fã\81¨ã\81\88ã\81°ã\80\81ã\81\82ã\82\8bã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®å\90\8då\89\8dã\82\92å\88¥ã\81®å\90\8då\89\8dã\81«å¤\89æ\9b´ã\81\97ã\81\9få ´å\90\88ã\80\81 inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«ã\81¤ã\81\84ã\81¦ã\81®æ­£ã\81\97ã\81\84é \86ç\95ªã\81§
 イベントが生成されることが保証される。
 
-\fBFIONREAD\fP \fBioctl\fP(2)  は inotify ファイルディスクリプタから何バイト読み込めるかを返す。
+\fBFIONREAD\fP \fBioctl\fP(2)  ã\81¯ inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8bã\82\89ä½\95ã\83\90ã\82¤ã\83\88読ã\81¿è¾¼ã\82\81ã\82\8bã\81\8bã\82\92è¿\94ã\81\99ã\80\82
 .SS 制限と警告
-inotify API では、inotify イベントが発生するきっかけとなったユーザやプロセスに関する情報は提供されない。とりわけ、inotify
+inotify API ã\81§ã\81¯ã\80\81inotify ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cç\99ºç\94\9fã\81\99ã\82\8bã\81\8dã\81£ã\81\8bã\81\91ã\81¨ã\81ªã\81£ã\81\9fã\83¦ã\83¼ã\82¶ã\83¼ã\82\84ã\83\97ã\83­ã\82»ã\82¹ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\81¯æ\8f\90ä¾\9bã\81\95ã\82\8cã\81ªã\81\84ã\80\82ã\81¨ã\82\8aã\82\8fã\81\91ã\80\81inotify
 経由でイベントを監視しているプロセスが、自分自身がきっかけとなったイベントと他のプロセスがきっかけとなったイベントを区別する簡単な手段はない。
 
 inotify は、ファイルシステム API 経由でユーザー空間プログラムがきっかけとなったイベントだけを報告する。 結果として、 inotify
@@ -356,8 +356,8 @@ inotify API では影響が受けるファイルをファイル名で特定す
 しかしながら、アプリケーションが inotify イベントを処理する時点では、
 そのファイル名がすでに削除されたり変更されたりしている可能性がある。
 
-inotify API では監視対象ディスクリプタを通してイベントが区別される。 (必要であれば)
-監視対象ディスクリプタとパス名のマッピングをキャッシュしておくのはアプリケーションの役目である。
+inotify API ã\81§ã\81¯ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92é\80\9aã\81\97ã\81¦ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cå\8cºå\88¥ã\81\95ã\82\8cã\82\8bã\80\82 (å¿\85è¦\81ã\81§ã\81\82ã\82\8cã\81°)
\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¨ã\83\91ã\82¹å\90\8dã\81®ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\82\92ã\82­ã\83£ã\83\83ã\82·ã\83¥ã\81\97ã\81¦ã\81\8aã\81\8fã\81®ã\81¯ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81®å½¹ç\9b®ã\81§ã\81\82ã\82\8bã\80\82
 ディレクトリの名前変更の場合、キャッシュしている複数のパス名に影響がある点に注意すること。
 
 inotify によるディレクトリの監視は再帰的に行われない: あるディレクトリ以下の
@@ -373,13 +373,13 @@ inotify によるディレクトリの監視は再帰的に行われない: あ
 イベントキューはオーバーフローする場合があることに注意すること。 この場合、イベントは失なわれる。 ロバスト性が求められるアプリケーションでは、
 イベントが失なわれる可能性も含めて適切に処理を行うべきである。
 例えば、アプリケーション内のキャッシュの一部分または全てを再構築する必要があるかもしれない。 (単純だが、おそらくコストがかかる方法は、 inotify
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\82\92ã\82¯ã\83­ã\83¼ã\82ºã\81\97ã\80\81 ã\82­ã\83£ã\83\83ã\82·ã\83¥ã\82\92空ã\81«ã\81\97ã\80\81 æ\96°ã\81\97ã\81\84 inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿を作成し、
-監視しているオブジェクトの監視対象ディスクリプタとキャッシュエントリーの再作成を行う方法である。)
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92ã\82¯ã\83­ã\83¼ã\82ºã\81\97ã\80\81 ã\82­ã\83£ã\83\83ã\82·ã\83¥ã\82\92空ã\81«ã\81\97ã\80\81 æ\96°ã\81\97ã\81\84 inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼を作成し、
\9b£è¦\96ã\81\97ã\81¦ã\81\84ã\82\8bã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¨ã\82­ã\83£ã\83\83ã\82·ã\83¥ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81®å\86\8dä½\9cæ\88\90ã\82\92è¡\8cã\81\86æ\96¹æ³\95ã\81§ã\81\82ã\82\8bã\80\82)
 .SS "rename() イベントの取り扱い"
 上述の通り、 \fBrename\fP(2) により生成される \fBIN_MOVED_FROM\fP と \fBIN_MOVED_TO\fP イベントの組は、共有される
 cookie 値によって対応を取ることができる。 しかし、対応を取る場合にはいくつか難しい点がある。
 
-これらの 2 つのイベントは、 inotify ファイルディスクリプタから読み出しを行った場合に、通常はイベントストリーム内で連続している。
\81\93ã\82\8cã\82\89ã\81® 2 ã\81¤ã\81®ã\82¤ã\83\99ã\83³ã\83\88ã\81¯ã\80\81 inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8bã\82\89読ã\81¿å\87ºã\81\97ã\82\92è¡\8cã\81£ã\81\9få ´å\90\88ã\81«ã\80\81é\80\9a常ã\81¯ã\82¤ã\83\99ã\83³ã\83\88ã\82¹ã\83\88ã\83ªã\83¼ã\83 å\86\85ã\81§é\80£ç¶\9aã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
 しかしながら、連続していることは保証されていない。 複数のプロセスが監視対象オブジェクトでイベントを発生させた場合、 (めったに起こらないことだが)
 イベント \fBIN_MOVED_FROM\fP と \fBIN_MOVED_TO\fP の間に任意の数の他のイベントがはさまる可能性がある。
 さらに、対となるイベントがアトミックにキューに挿入されることも保証されていない。 \fBIN_MOVED_FROM\fP が現れたが
@@ -390,11 +390,11 @@ cookie 値によって対応を取ることができる。 しかし、対応を
 \fBIN_MOVED_TO\fP イベントは存在しさえしないことを忘れてはならない)。 (イベントは常に連続しているとの仮定を置くといった)
 発見的な方法を使うと、ほとんどの場合でイベントの組をうまく見つけることができるが、 いくつかの場合に見逃すことが避けられず、 アプリケーションが
 \fBIN_MOVED_FROM\fP と \fBIN_MOVED_TO\fP イベントが無関係だとみなしてしまう可能性がある。
-çµ\90æ\9e\9cç\9a\84ã\81«ã\80\81ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81\8cç ´æ£\84ã\81\95ã\82\8cå\86\8dä½\9cæ\88\90ã\81\95ã\82\8cã\81\9få ´å\90\88ã\80\81ã\81\93ã\82\8cã\82\89ã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¯ã\80\81å\87¦ç\90\86å¾\85ã\81¡ã\82¤ã\83\99ã\83³ã\83\88ã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿と一貫性のないものになってしまう
-(inotify ファイルディスクリプタの再作成とキャッシュの再構成はこの状況に対処するのに有用な方法なのだが)。
+çµ\90æ\9e\9cç\9a\84ã\81«ã\80\81ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cç ´æ£\84ã\81\95ã\82\8cå\86\8dä½\9cæ\88\90ã\81\95ã\82\8cã\81\9få ´å\90\88ã\80\81ã\81\93ã\82\8cã\82\89ã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\80\81å\87¦ç\90\86å¾\85ã\81¡ã\82¤ã\83\99ã\83³ã\83\88ã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼と一貫性のないものになってしまう
+(inotify ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®å\86\8dä½\9cæ\88\90ã\81¨ã\82­ã\83£ã\83\83ã\82·ã\83¥ã\81®å\86\8dæ§\8bæ\88\90ã\81¯ã\81\93ã\81®ç\8a¶æ³\81ã\81«å¯¾å\87¦ã\81\99ã\82\8bã\81®ã\81«æ\9c\89ç\94¨ã\81ªæ\96¹æ³\95ã\81ªã\81®ã\81 ã\81\8c\80\82
 
 また、アプリケーションは、 \fBIN_MOVED_FROM\fP イベントが今行った \fBread\fP(2)
-の呼び出しで返されたバッファのちょうど一番最後のイベントで、 \fBIN_MOVED_TO\fP イベントは次の \fBread\fP(2)
\81®å\91¼ã\81³å\87ºã\81\97ã\81§è¿\94ã\81\95ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®ã\81¡ã\82\87ã\81\86ã\81©ä¸\80ç\95ªæ\9c\80å¾\8cã\81®ã\82¤ã\83\99ã\83³ã\83\88ã\81§ã\80\81 \fBIN_MOVED_TO\fP ã\82¤ã\83\99ã\83³ã\83\88ã\81¯æ¬¡ã\81® \fBread\fP(2)
 を行わないと取得できない可能性も考慮に入れる必要がある。 2 つ目の \fBread\fP(2) は (短い) タイムアウトで行うべきである。 これは、
 \fBIN_MOVED_FROM\fP\-\fBIN_MOVED_TO\fP のイベントペアのキューへの挿入はアトミックではなく、 また \fBIN_MOVED_TO\fP
 イベントが全く発生しない可能性もあるという事実を考慮に入れておく必要があるからである。
@@ -416,18 +416,18 @@ cookie 値によって対応を取ることができる。 しかし、対応を
 をチェックするようになっていた。
 
 .\" FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=77111
-\fBinotify_rm_watch\fP(2) の呼び出しにより監視対象ディスクリプタが削除された場合
-(なお、監視対象ファイルの削除や監視対象ファイルが含まれるファイルシステムのアンマウントによっても監視対象ディスクリプタは削除される)、
-この監視対象ディスクリプタ関連の処理待ちの未読み出しイベントは、 読み出し可能なままとなる。 監視対象ディスクリプタ
-\fBinotify_add_watch\fP(2) によって後で割り当てられるため、 カーネルは利用可能な監視対象ディスクリプタの範囲 (0 から
-\fBINT_MAX\fP) ã\81\8bã\82\89æ\98\87é \86ã\81«ã\82µã\82¤ã\82¯ã\83ªã\83\83ã\82¯ã\81«å\89²ã\82\8aå½\93ã\81¦ã\82\92è¡\8cã\81\86ã\80\82æ\9cªä½¿ç\94¨ã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\82\92å\89²ã\82\8aå½\93ã\81¦ã\82\8bé\9a\9bã\80\81 ã\81\9dã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿番号に
-inotify キューで処理待ちの未読み出しイベントがあるかの確認は行われない。 したがって、監視対象ディスクリプタが再割り当てされた際に、
-その監視対象ディスクリプタの一つ前の使用時に発生した処理待ちの未読み出しイベントが存在するということが起こりうる。
+\fBinotify_rm_watch\fP(2) ã\81®å\91¼ã\81³å\87ºã\81\97ã\81«ã\82\88ã\82\8aç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cå\89\8aé\99¤ã\81\95ã\82\8cã\81\9få ´å\90\88
+(ã\81ªã\81\8aã\80\81ç\9b£è¦\96対象ã\83\95ã\82¡ã\82¤ã\83«ã\81®å\89\8aé\99¤ã\82\84ç\9b£è¦\96対象ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cå\90«ã\81¾ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\82¢ã\83³ã\83\9eã\82¦ã\83³ã\83\88ã\81«ã\82\88ã\81£ã\81¦ã\82\82ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯å\89\8aé\99¤ã\81\95ã\82\8cã\82\8b\80\81
+この監視対象ディスクリプター関連の処理待ちの未読み出しイベントは、 読み出し可能なままとなる。 監視対象ディスクリプター
+\fBinotify_add_watch\fP(2) ã\81«ã\82\88ã\81£ã\81¦å¾\8cã\81§å\89²ã\82\8aå½\93ã\81¦ã\82\89ã\82\8cã\82\8bã\81\9fã\82\81ã\80\81 ã\82«ã\83¼ã\83\8dã\83«ã\81¯å\88©ç\94¨å\8f¯è\83½ã\81ªç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®ç¯\84å\9b² (0 ã\81\8bã\82\89
+\fBINT_MAX\fP) ã\81\8bã\82\89æ\98\87é \86ã\81«ã\82µã\82¤ã\82¯ã\83ªã\83\83ã\82¯ã\81«å\89²ã\82\8aå½\93ã\81¦ã\82\92è¡\8cã\81\86ã\80\82æ\9cªä½¿ç\94¨ã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92å\89²ã\82\8aå½\93ã\81¦ã\82\8bé\9a\9bã\80\81 ã\81\9dã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼番号に
+inotify ã\82­ã\83¥ã\83¼ã\81§å\87¦ç\90\86å¾\85ã\81¡ã\81®æ\9cªèª­ã\81¿å\87ºã\81\97ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cã\81\82ã\82\8bã\81\8bã\81®ç¢ºèª\8dã\81¯è¡\8cã\82\8fã\82\8cã\81ªã\81\84ã\80\82 ã\81\97ã\81\9fã\81\8cã\81£ã\81¦ã\80\81ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cå\86\8då\89²ã\82\8aå½\93ã\81¦ã\81\95ã\82\8cã\81\9fé\9a\9bã\81«ã\80\81
\81\9dã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®ä¸\80ã\81¤å\89\8dã\81®ä½¿ç\94¨æ\99\82ã\81«ç\99ºç\94\9fã\81\97ã\81\9få\87¦ç\90\86å¾\85ã\81¡ã\81®æ\9cªèª­ã\81¿å\87ºã\81\97ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cå­\98å\9c¨ã\81\99ã\82\8bã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\81\8cèµ·ã\81\93ã\82\8aã\81\86ã\82\8bã\80\82
 その結果、アプリケーションはこれらのイベントを読み出す可能性があり、
-これらのイベントが新しく再利用された監視対象ディスクリプタに関連付けられたファイルに属するものかを解釈する必要が出て来る。
\81\93ã\82\8cã\82\89ã\81®ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cæ\96°ã\81\97ã\81\8få\86\8då\88©ç\94¨ã\81\95ã\82\8cã\81\9fç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«é\96¢é\80£ä»\98ã\81\91ã\82\89ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\81«å±\9eã\81\99ã\82\8bã\82\82ã\81®ã\81\8bã\82\92解é\87\88ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cå\87ºã\81¦æ\9d¥ã\82\8bã\80\82
 実際のところ、このバグを踏む可能性は極めて低い。 それは、このバグを踏むためには、アプリケーションが \fBINT_MAX\fP
\80\8bã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81\8cä¸\80å\91¨ã\81\95ã\81\9bã\81¦ã\80\81 ã\82­ã\83¥ã\83¼ã\81«æ\9cªèª­ã\81¿å\87ºã\81\97ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cæ®\8bã\81£ã\81¦ã\81\84ã\82\8bç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿を解放し、
-その監視対象ディスクリプタを再利用する必要があるからである。 この理由と、実世界のアプリケーションで発生したというバグ報告がないことから、 Linux
\80\8bã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cä¸\80å\91¨ã\81\95ã\81\9bã\81¦ã\80\81 ã\82­ã\83¥ã\83¼ã\81«æ\9cªèª­ã\81¿å\87ºã\81\97ã\82¤ã\83\99ã\83³ã\83\88ã\81\8cæ®\8bã\81£ã\81¦ã\81\84ã\82\8bç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼を解放し、
\81\9dã\81®ç\9b£è¦\96対象ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92å\86\8då\88©ç\94¨ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\81\8bã\82\89ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®ç\90\86ç\94±ã\81¨ã\80\81å®\9fä¸\96ç\95\8cã\81®ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81§ç\99ºç\94\9fã\81\97ã\81\9fã\81¨ã\81\84ã\81\86ã\83\90ã\82°å ±å\91\8aã\81\8cã\81ªã\81\84ã\81\93ã\81¨ã\81\8bã\82\89ã\80\81 Linux
 3.15 時点では、この計算上は起こりうるバグを取り除くためのカーネルの変更は行われていない。
 .SH 例
 以下のプログラムは inotify API の使用例を示したものである。 コマンドライン引き数で渡されたディレクトリに印を付け、 タイプが
@@ -501,7 +501,7 @@ handle_events(int fd, int *wd, int argc, char* argv[])
         if (len <= 0)
             break;
 
-        /* Loop over all events in the buffer */
+        /* バッファー内の全イベントを処理する */
 
         for (ptr = buf; ptr < buf + len;
                 ptr += sizeof(struct inotify_event) + event\->len) {
@@ -587,11 +587,11 @@ main(int argc, char* argv[])
         }
     }
 
-    /* Prepare for polling */
+    /* ポーリングの準備 */
 
     nfds = 2;
 
-    /* Console input */
+    /* コンソールの入力 */
 
     fds[0].fd = STDIN_FILENO;
     fds[0].events = POLLIN;
@@ -650,6 +650,6 @@ main(int argc, char* argv[])
 
 Linux カーネルソース内の \fIDocumentation/filesystems/inotify.txt\fP
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。