inotifyを使用してファイルへのアクセスを監視する

inotifyを使用してファイルへのアクセスを監視する

特定のプロセスが特定のファイルにアクセスしたときに通知を受けたいトリガーが必要です(たとえば、スクリプトを実行する必要があります)。私が正しく理解したなら、これはうまくいきますinotify

ファイルがある場合は、そのファイルを監視するようにどのように/foo/bar.txt設定しますか?inotify

私はDebian Wheezyとカーネル3.12を使用しています(私のカーネルはinotifyをサポートしています)

ベストアンサー1

~によるとザイルズ存在する:

使いやすいinotify待つ(配布用パッケージのインストールinotify-tools):

while inotifywait -e close_write myfile.py; do ./myfile.py; done

これには大きな制限があります。プログラムがmyfile.py既存のファイルに書き込むのではなく他のファイルを置き換えると、プログラムmyfileinotifywait終了します。これがほとんどの編集者が働く方法です。

この制限を克服するには、inotifywait次のようにします。

while true; do
  change=$(inotifywait -e close_write,moved_to,create .)
  change=${change#./ * }
  if [ "$change" = "myfile.py" ]; then ./myfile.py; fi
done

おすすめ記事