Unix: Datei monitoren
-
Hallo,
ich würde gerne unter Unix (bsw. Linux oder Solaris) eine Datei monitoren. d.h.
ich würde gerne wissen, wann sie gelesen/geschrieben wurde.Ich würde gerne so einen Call oder Signal abfangen und darauf reagieren.
Ich finde keine Lösungen derart, aber sowas wird es doch bestimmt geben.
Gibts da ein Tutorial für ?Vielen Dank für Hilfe im Voraus
- calavera
-
Da gibt es viele. Abstrakt:
QFileSystemWatcher
http://doc.trolltech.com/4.2/qfilesystemwatcher.htmlOder je nach System:
inotify, FAM
-
Vielen Dank schonmal.
Ich dachte da allerdings auf etwas nicht so umfangreiches, wie QT oder KLIBS.
Ich dachte da eher an STL oder ähnliches.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
cala.vera schrieb:
Vielen Dank schonmal.
Ich dachte da allerdings auf etwas nicht so umfangreiches, wie QT oder KLIBS.
Ich dachte da eher an STL oder ähnliches.Dann benutz - wie schon gesagt - inotify, verfügbar in 2.6.13er Kernel oder neuer. Das ist unter Linux wohl der effektivste Weg Dateien zu überwachen.
Wenn du ne Spur simpler gehen willst, kannst du die Datei regelmäßig auf Änderungen prüfen. In einer Schleife checkst du regelmäßig Dateigröße & Änderungsdatum, wurde es geändert feuerst du dein Event. Nennt sich polling und ist langsam und ineffektiv, dafür aber schnell implementiert wenn es nur um eine Datei geht.
Am Besten schaust du dir wirklich mal inotify an, das ist nicht so kompliziert.