0

Linux カーネルには、ファイル システムを監視するための「inotify メカニズム」が用意されていることがわかりました。

inotify に従って、カーネルinotify_init()から受け取る fd を返します。inotify_event(カーネルがそれに書き込むことを理解inotify_eventしました。)

1) そして、新しい監視をinotify fdusingで追加すると、監視対象のファイルにイベントが発生したときにinotify_add_watch()、誰がinotify_eventinotify fd に書き込みますか。

2)(カーネルがそうする場合)カーネルが監視対象ファイルのイベントを検出すると、カーネルはどのinotifyfd(inotify_instance)をこれで更新する必要があるかをどのように決定しますinotify_eventか?

4

1 に答える 1

2

私自身の研究、これが答えです:

  1. これはLinuxカーネルです。特にファイルシステム。
  2. inotify_add_watch()特定のファイルを呼び出すと、監視inotifyに関する情報がそのファイルの構造に格納されます。inotifyinode

次に、ファイルシステムがそのファイルを処理するたびに、ファイルのinode構造(存在するかどうか)をチェックしますinotify watches。構造inotifyから時計が見つかった場合は、報告します。inodeinotifyinotify_event

于 2011-12-08T05:55:57.670 に答える