Ich mache einen einfachen Seitenladezähler, indem ich den aktuellen Zählerstand in einer Datei ablege. So möchte ich das machen:
Kann dies ohne Verlust der Sperre geschehen?
Wie ich es verstehe, kann die Datei nicht geschrieben werden, ohne die Sperre zu verlieren. Der einzige Weg, den ich habe, um dies anzugehen, ist, ein Zeichen mit dem "r +" - Modus zu schreiben und dann Zeichen zu zählen.
Ich glaube, Sie können dies mit flock
erreichen. Öffnen Sie einen Zeiger auf Ihre Datei, flock
it, lesen Sie die Daten, schreiben Sie die Daten, und schließen Sie dann (schließen automatisch entsperrt).
Ja, Sie müssen den Rücklauf vor ftruncate
verwenden. Andernfalls wird der alte Inhalt der Datei nur mit Nullen aufgefüllt.
Die Arbeitssequenz ist:
%Vor%