Hallo Tom,
File Locking... ok. Was passiert, wenn Prozess a den Download aus welchen Gründen auch immer nicht beendet hat? Wäre nicht die Metainformation wichtig, wie lange der Download nun schon dauert? Der Zugriff ist heikel, die Prozesse könnten überhaupt nicht laufen, wenn ihnen die Datei fehlen würde.
Das hängt von der Verbindungsart ab.
FTP ist verbindungs- und damit (teilweise) auch zustandsorientiert. Welche Zustände sich abfragen lassen, hängt von der FTP-Implementation ab.Aber zumindest sollte man beim FTP-Server konfigurieren können, dass Prozesse, die Dateien benutzen (lesen), zumindet ein shared Lock setzen. Dieser kann dann aber z.B. auf unixoiden Systemen mit antiquierten Dateisystemen oder Administratoren auch nur "advisory" sein, also nicht verbindlich. Es müssten sich demnach alle Prozesse an das Locking-Szenario halten.
Anders ist das, wenn man das Dateisystem mit dem Zusatz Mandatory (mand) gemountet hat. Dann kann man auch die neueren mandatorischen Sperren (wie bei WINDosen üblich) nutzen. Daran kommt dann kein Prozess, der nicht das OS selbst (oder dessen relevante Treiber) ersetzt, mehr vorbei.
Auch ein FTP-Server muss ich dann daran halten, wenn ein anderer Prozess eine mandatorische Sperre gesetzt hat. Ggf. funktioniert der FTP-Server dann aber gar nicht erst... *ohoh*
danke, damit muss ich mich erstmal auseinandersetzen.