Archiv verlassen und diese Seite im Standarddesign anzeigen : Auslesen einer ständig neu erstellten Datei?
Um Daten auszugeben benutze ich in C unter Linux eine Datei, aus der i. Allg. mehrere Prozesse lesen, in der die alten Werte mit neuen überschrieben werden, aber gelegentlich können die Daten nicht ausgelesen werden; vielleicht weil zu diesem Zeitpunkt in die Datei geschrieben wird.
Eine Datei im /proc- oder /dev-Verzeichnis zu erstellen scheidet aus, weil das Programm ein user-space-Programm ist.
Was empfehlen denn die Experten zur Beseitigung/Umgehung dieses Problems? :confused:
Kannst du nicht irgendwas basteln, das der Datei "vorgelagert"ist, also dass Lese/Schreibzugriffe nicht von den einzelnen Prozessen selbst gemacht werden?
Ich denke jetzt an einen eigenen Prozess, der von den eigentlichen Prozessen nur die Lese und Schreibbefehle entgegen nimmt, dies evtl. in einer Queue speichert, wenn mehrere Sachen quasi gleichzeitig ankommen.
Dieser Prozess, und NUR dieser Prozess, übernimmt dann die Zugriffe auf die Datei und gibt bei Lesezugriffen die Daten zurück.
In etwa klar wie ich denke?
Kann man das einen Proxy nennen?
anda_skoa
26-08-2004, 16:25
Du könntest zuerst in eine andere Datei schreiben und dann die Datei moven, bzw die alte Löschen und die neue umbennen.
Dann kann es nur vorkommen, dass die Datei kurz nicht existiert, aber das sollten die Lesenden schon abfangen können.
Ciao,
_
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.