Datei sperren?
Datei sperren?
Hallo!
Wie kann man eine Datei sperren, sodass kein anderer Prozess darauf zugreifen kann?
In CGI/Perl geht das mit Flock(), sofern das einer kennt.
MfG, AND51
Wie kann man eine Datei sperren, sodass kein anderer Prozess darauf zugreifen kann?
In CGI/Perl geht das mit Flock(), sofern das einer kennt.
MfG, AND51
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Das ist zwar kein 100%iger Schutz aber vielleicht reicht dir ja das Schreibgeschützt-Attribut ?
http://www.purebasic.fr/german/viewtopic.php?t=3299
2. Möglichkeit geht nur während Dein Programm läuft : Datei öffnen.
natürlich kann man auch tricksen.
z.B. über einen HardLink entweder auf eine leere Dummydatei oder eben die eigentliche Datendatei zeigen.
http://www.purebasic.fr/german/viewtopic.php?t=6276
http://www.purebasic.fr/german/viewtopic.php?t=3299
2. Möglichkeit geht nur während Dein Programm läuft : Datei öffnen.
natürlich kann man auch tricksen.
z.B. über einen HardLink entweder auf eine leere Dummydatei oder eben die eigentliche Datendatei zeigen.
http://www.purebasic.fr/german/viewtopic.php?t=6276
Ja, ich meine, während mein Programm läuft, möchte ich eine ini-Datei sperren, sodass kein anderes Programm dauarf zugreifen kann.
Fals jemand noch einen Tipp hat, kann er ja posten, aber ich glaube, ich löse das eigentliche Problem doch anders. Trotzdem danke!
Fals jemand noch einen Tipp hat, kann er ja posten, aber ich glaube, ich löse das eigentliche Problem doch anders. Trotzdem danke!
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Ja, das war ja mein 2. Vorschlag.
Eben so :
Aber, vielleicht hat er ja noch eine bessere Methode mit anderen Vorteilen.
edit :
Eben so :
Code: Alles auswählen
If OpenWindow(0, 100, 100, 300, 100, "Test", #PB_Window_SystemMenu)
If OpenFile(0, "server.ini")
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
CloseFile(0)
EndIf
EndIf
edit :
Vielleicht bin ich heute schwer von Begriff aber das habe ich nicht verstanden. Bei mir wird gesperrt.Er sperrt wohl nur beim Schreiben sprich schließen.
Im Grunde hat Karl Recht:
> Er möchte wohl exklusiven Zugriff, damit ihm kein anderer was dazwischen schreibt.
Die Datei einfach geöfnet zu lassen, damit sie nicht gelöscht wird, das ist mir klar, dass man dann einfah die Datei geöffnet lassen kann.
Aber ich will sowas Ähnliches wie Flock() von CGI/Perl, damit kann man einstelen, dass andere Prozesse solange nicht drauf zugreifen dürfen, nur lesen dürfen etc. bis man mit flock() die Datei wieder freigibt oder das eigene Programm beendet.
> Er möchte wohl exklusiven Zugriff, damit ihm kein anderer was dazwischen schreibt.
Die Datei einfach geöfnet zu lassen, damit sie nicht gelöscht wird, das ist mir klar, dass man dann einfah die Datei geöffnet lassen kann.
Aber ich will sowas Ähnliches wie Flock() von CGI/Perl, damit kann man einstelen, dass andere Prozesse solange nicht drauf zugreifen dürfen, nur lesen dürfen etc. bis man mit flock() die Datei wieder freigibt oder das eigene Programm beendet.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End