2 Stimmen

Sperren und Entsperren von Dateien mit C API in Ubuntu LInux

Wie kann ich eine Datei für einen bestimmten Zeitraum (10 Sekunden) mit der Sprache C in Ubuntu Linux sperren?

3voto

wallyk Punkte 55322

Es funktioniert folgendermaßen:

#include <io.h>
#include <sys/file.h>
...
int f = open ("filename", O_RDONLY);
if (f < 0)
       error();
if (flock (f, LOCK_EX))
       error();
sleep (10);

if (flock (f, LOCK_UN))
       error();
...

1voto

Utilisez fcntl(2) um die Datei zu sperren, dann verwenden Sie alarm(2) um Ihre SIGALRM Handler, der sie dann entsperrt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X