私はD言語を初めて使用し、特定のファイルの変更を監視する効率的な方法を探しています。
最終的に私が望んでいるのは、ファイルが変更されるのを待ってから、ファイルの内容に基づいてコマンドを実行するウォッチャーを用意することです(プレーンテキストのキューリストと考えてください)。
コードサンプルは素晴らしいですが、正しい方向に私を向けることも非常に役立ちます。
また、これはLinux環境で実行されます。
アップデート
システムユーティリティを使用してファイルを監視する方法を使用します。
私はD言語を初めて使用し、特定のファイルの変更を監視する効率的な方法を探しています。
最終的に私が望んでいるのは、ファイルが変更されるのを待ってから、ファイルの内容に基づいてコマンドを実行するウォッチャーを用意することです(プレーンテキストのキューリストと考えてください)。
コードサンプルは素晴らしいですが、正しい方向に私を向けることも非常に役立ちます。
また、これはLinux環境で実行されます。
システムユーティリティを使用してファイルを監視する方法を使用します。
Linuxを使用している場合はinotify
、を使用できます/usr/include/sys/inotify.h
(私のシステムで$PREFIX
は異なる場合があります)。
inotifyは、ファイルシステムの変更に対する反応が必要な多くの状況で非常に役立ちます。inotifyを使用しない場合は、ファイルとディレクトリを定期的に(または手動で要求して)調べることで実装できます。しかし、そのような方法は遅く、プロセッサ時間を浪費します。inotifyは、ファイルシステムの変更に対応するための非常に高速で経済的な方法をもたらします。
あなたがしなければならない唯一のことは、このヘッダーを「Dヘッダー」DStep
に翻訳することです、さもなければ、あなたはあなたのためにヘッダーを翻訳することができるかもしれない使用します。
fanotify
の新しい代替品であるを使用することもできますinotify
。
残念ながら、Windowsでそれを行う方法がわかりません。私が見つけたのは、Windows-API関数だけです。FindFirstChangeNotification