libeventを使用してファイルの削除/更新を監視することは可能ですか?
/var/log/file.1が削除されたと仮定して、プログラムで報告したいと思います。これは可能ですか?はいの場合、どのように?
私のオペレーティングシステムはLinuxであり、いくつかのオペレーティングシステムのアクション中にメッセージを起動するデーモンを作成したいと思います。
詳細情報はどこにありますか?
libeventを使用してファイルの削除/更新を監視することは可能ですか?
/var/log/file.1が削除されたと仮定して、プログラムで報告したいと思います。これは可能ですか?はいの場合、どのように?
私のオペレーティングシステムはLinuxであり、いくつかのオペレーティングシステムのアクション中にメッセージを起動するデーモンを作成したいと思います。
詳細情報はどこにありますか?
コードが特にLinuxを対象としている場合は、inotify(7)
代わりにこの機能を利用できます。非常にシンプルなプログラミングインターフェイスを備えており、ファイルの変更と削除を監視することを目的としていますが、目的libevent
は少し異なります。記述子のグループを監視し、記述子のいずれかが読み取り/書き込みの準備ができたら通知されます。
同様の機能が他のすべてのOSのサポートによって提供されていないため、libevent
ラップするかどうかはわかりません。inotify
libevent
いくつかの単純なロジックを使用するだけで、このファイルが削除されているかどうかを確認できますか?
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
struct stat st = {0};
if (stat("/var/log/file.1", &st) == -1) {
printf("file is deleted or not present");
}
struct statの別の要素をチェックすることで、ファイルのより多くのプロパティをチェックすることもできます