Ich habe mich nur gefragt, warum ältere Windows-Versionen nicht genau angegeben haben, welche Programme eine bestimmte Datei verwenden, sodass Sie sie nicht verschieben können. In neueren Versionen wird jedoch häufig angegeben, dass ein bestimmtes Programm auf die Datei zugreift oder in diesem bestimmten Programm geöffnet ist.
Während ich beispielsweise versuche, eine PDF-Datei vom Desktop in einen anderen Ordner zu verschieben, wird in einem Windows 8.1-Fenster Folgendes angezeigt:
Die Datei kann nicht verschoben werden, da sie in Adobe Reader geöffnet ist.
Wie ruft das Kopierprogramm nun die Information ab, dass Adobe Reader das Programm ist, das eine Art Sperre für die PDF-Datei hat?
Ich meine nur die zugrunde liegenden Betriebssystemdetails zu kennen, auch wenn für Windows. Antworten für andere Betriebssysteme sind ebenfalls willkommen. (Ich würde gerne wissen, wie Sie solche Informationen in Ihren eigenen C-Programmen erhalten können.)
quelle
In allen Windows-Versionen seit 2000 können Sie Dateisperren für Netzwerkdateien und -ordner über die Computerverwaltung verwalten. Wenn dies auch für Sie der Fall ist, können Sie mit dieser Methode die Sperre anzeigen und aufheben.
Gehe zu
Control Panel
->Administrative Tasks
->Computer Management
.Entfalten
Shared Folders
Sie auf der linken Seite und klicken Sie dann aufOpen Files
.Einige Hintergrundinformationen
Wenn Sie eine Datei bearbeiten, wird die Datei von Windows (oder einem anderen Betriebssystem) entweder zum Lesen, Lesen / Schreiben oder für den wahlfreien Zugriff geöffnet. Bei den letzten beiden muss in die Datei geschrieben werden. Daher initiiert Windows eine Schreibsperre für eine Datei und markiert diese Datei im Inhaltsverzeichnis der Festplatte als "geschrieben" oder "schreibgesperrt". Je nachdem, welches Dateisystem Sie verwenden, werden Informationen darüber gespeichert, welches Programm in eine Datei schreibt oder nicht. Für den Netzwerkzugriff wird dies nicht in der Datei gespeichert, sondern in einer Datenbank, auf die wie oben beschrieben zugegriffen werden kann. In anderen Fällen wird die Prozess-ID entlang der Sperre gespeichert und gibt an, woher die Sperre stammt.
Wenn ein Prozess nicht mehr in die Datei schreiben muss, gibt er die Sperre frei und entfernt als solche das Flag im Inhaltsverzeichnis des Dateisystems, in das die Datei geschrieben wird.
Tools zum Entsperren können dieses Flag nach Belieben entfernen, aber wenn ein Prozess tatsächlich in eine Datei schreibt, kann dies die Datei selbst beschädigen. Manchmal wird jedoch eine Datei zum Lesen / Schreiben oder für den wahlfreien Zugriff geöffnet, ohne dass tatsächlich darauf geschrieben wird. Die Sperre bleibt jedoch bestehen, falls der Benutzer eine Aktion ausführt, die zu einem späteren Zeitpunkt in die Datei geschrieben werden muss. Es kann auch vorkommen, dass das Programm abgestürzt ist, bevor die Sperre aufgehoben wurde. Diese Sperre ist jedoch immer noch in Kraft, da ein Teil des Programms für den Benutzer nur noch über einen Dienst oder einen inaktiven Prozess zugänglich ist (Sie wissen nicht, welche) ein). In diesem Fall helfen Unlocker oder ein Neustart.
Tools zum Entsperren sind am effektivsten, wenn Sie entweder nicht neu starten möchten oder ein Programm, das beim Booten startet, eine Datei sperrt und Sie die Sperre einfach bei jedem Booten erhalten. (Denken Sie an Spyware oder Dienstprogramme, die Sie verschieben möchten, aber nicht verschieben können. Beachten Sie: Wenn Sie ein Dienstprogramm nicht verschieben können, weil es verwendet wird, sollten Sie es nur verschieben, wenn Sie wissen, was Sie tun.)
quelle