1

libeventを使用してファイルの削除/更新を監視することは可能ですか?

/var/log/file.1が削除されたと仮定して、プログラムで報告したいと思います。これは可能ですか?はいの場合、どのように?

私のオペレーティングシステムはLinuxであり、いくつかのオペレーティングシステムのアクション中にメッセージを起動するデーモンを作成したいと思います。

詳細情報はどこにありますか?

4

2 に答える 2

1

コードが特にLinuxを対象としている場合は、inotify(7)代わりにこの機能を利用できます。非常にシンプルなプログラミングインターフェイスを備えており、ファイルの変更と削除を監視することを目的としていますが、目的libeventは少し異なります。記述子のグループを監視し、記述子のいずれかが読み取り/書き込みの準備ができたら通知されます。

同様の機能が他のすべてのOSのサポートによって提供されていないため、libeventラップするかどうかはわかりません。inotifylibevent

于 2011-10-05T11:58:18.460 に答える
0

いくつかの単純なロジックを使用するだけで、このファイルが削除されているかどうかを確認できますか?

#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の別の要素をチェックすることで、ファイルのより多くのプロパティをチェックすることもできます

于 2011-10-05T12:01:20.187 に答える