
によるとウィキペディア、
inotify は、ファイル システムの変更を通知する Linux カーネル サブシステムです。以前の dnotify に代わるものです。
ファイルを同期するプログラム(crashplan、dropbox、gitなど)は、ユーザーガイドで、ユーザーがmax_user_watches
(1、2、3)。
inotify について私が理解していることは、OS に変更を「探す」ことを要求するのではなく、OS にファイルが変更されたことが「伝えられる」ということです。
すべてのディレクトリに「inotify」ファイルが作成されていると想定しています。これは正しいですか? コマンドラインから inotify と対話する方法はありますか?
リソース
NFS マウントでは inotify イベントが異なるのはなぜですか?
ディレクトリ内の多数のファイルをInotifywaitする
答え1
inotifyはカーネル内部の機能です。「inotifyファイル」はありません。専用のシステムコールがあります。inotify_init
、inotify_add_watch
そしてinotify_rm_watch
プロセスが特定のファイルシステム イベントが発生したときに通知を受けるように登録できるようにします。イベントが発生すると、プロセスは によって返されるファイル記述子を通じてイベントの説明を受け取りますinotify_init
。
OS は、ファイルが変更されたことは「伝えられる」のではなく、変更を行っているので、それを認識します。ファイルが変更されたことを知らされるのはアプリケーションであり、自分で変更箇所を探す必要はありません。
プログラムinotifywait
コマンドラインから inotify を使用する簡単な方法を提供します。