Disclaimer: Ich bin hauptsächlich ein Linux / Web Entwickler.
Windows hat dieses "nette" Feature, bei dem es die Berechtigung verweigert, Dateien zu löschen, die von einem Prozess offengehalten werden. Wenn also ein Antivirenprogramm zur falschen Zeit die falsche Datei aufruft, kann es passieren, dass ein zufälliges Programm sich falsch verhält und möglicherweise abstürzt.
Habe ich Recht? Gibt es Pläne, das zu beheben?
Findet jemand von Ihnen das akzeptabel oder, wie könnte es zu dieser Zeit vielleicht eine gute Idee sein?
Bearbeiten:
Es funktioniert sehr unterschiedlich auf Unix, und das schon seit Jahrzehnten.
Als ein Beispiel:
Tatsächlich ist ein übliches Verwendungsmuster für temporäre Dateien unter Unix: open-remove-read / write-close.
Ihre erste Aussage ist nicht korrekt. Windows erlaubt es, offene Dateien zu löschen. Sie müssen nur FILE_SHARE_DELETE angeben und Sie sind fertig. Sorgfältige Programmierer sollten vernünftigerweise entscheiden, ob diese Flagge (oder Teilen zum Lesen / Schreiben) sinnvoll ist und sie weitergeben.
Ein Anti-Virus-Produkt, das Dateien mit vollständiger Freigabe (einschließlich Löschung) nicht öffnet, ist fehlerhaft.
Windows erinnert sich jedoch an das aktuelle Arbeitsverzeichnis eines Prozesses und verhindert, dass es gelöscht wird. Dieses Arbeitsverzeichnis ist unabhängig vom Speicherort aller Dateien, die vom Prozess geöffnet werden.
Das ist absolut akzeptabel. Stellen Sie sich eine Situation vor, in der Sie eine Datenbankdatei in Ihrer Anwendung lesen, und eine andere Anwendung kommt mit und löscht diese Datenbankdatei von rechts unter Ihnen. Woher weiß Ihre Anwendung, ob die Datei noch existiert? Wie stellt es sicher, dass der Dateistrom nicht plötzlich versucht, diese Datei zu lesen, kann es eine Millisekunde geben, aber nicht die nächste? Aus diesem Grund können Programme Dateien sperren, um sicherzustellen, dass die Datei immer da ist, bis das Programm feststellt, dass sie damit fertig ist.
Es könnte hilfreicher sein, uns zu sagen, warum diese Dateisperrung in Ihrer Situation unerwünscht ist. Ich bin mir ziemlich sicher, dass Antivirenprogramme Dateien optimistisch sperren, es sei denn, sie bereinigen sie.
Tags und Links windows