Eine Sache, die mich an Windows ärgert, ist der alte Fehler bei der Verletzung der Freigabe . Oft kann man nicht identifizieren, was es offen hält. Normalerweise ist es nur ein Editor oder Explorer, der auf ein relevantes Verzeichnis verweist, aber manchmal musste ich meinen Computer neu starten.
Irgendwelche Vorschläge, wie man den Täter findet?
windows
file-sharing
Cletus
quelle
quelle
Antworten:
Ich hatte Erfolg mit Sysinternals Process Explorer . Mit dieser Option können Sie nach Prozessen suchen, bei denen eine Datei geöffnet ist, und Sie können sie verwenden, um die Handles zu schließen, wenn Sie möchten. Natürlich ist es sicherer, den gesamten Prozess abzuschließen. Seien Sie vorsichtig und urteilen Sie.
Um eine bestimmte Datei zu finden, verwenden Sie die Menüoption Geben Sie einen
Find->Find Handle or DLL...
Teil des Dateipfads ein. Die Liste der Prozesse wird unten angezeigt.Wenn Sie die Befehlszeile bevorzugen, enthält die Sysinternals-Suite das Befehlszeilentool Handle , das die offenen Handles auflistet. Einige Beispiele zur Verwendung:
c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\
- Finde alle auf Laufwerk E geöffneten Dateien:c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question
quelle
Sie können die Verwendung Ressourcenmonitor für diese , die kommt in gebaut mit Windows 7, 8 und 10.
Wenn Sie das Handle gefunden haben, können Sie den Prozess anhand der Spalte Bild und / oder PID identifizieren.
Sie können dann versuchen, die Anwendung wie gewohnt zu schließen, oder, falls dies nicht möglich ist, einfach mit der rechten Maustaste auf das Handle klicken und den Vorgang direkt von dort aus beenden. Kinderleicht!
Von meiner ursprünglichen Antwort kopiert: https://superuser.com/a/643312/62
quelle
resmon
direkt von cmdVersuchen Sie es mit dem Befehl openfiles .
quelle
openfiles /local on
und neu starten. Dies macht diese Funktion nicht sehr nützlich.Seien Sie vorsichtig beim Schließen der Griffe. Es ist aufgrund des Handle-Recyclings sogar noch gefährlicher als man denkt. Wenn Sie das Datei-Handle schließen und das Programm etwas anderes öffnet, wird das ursprüngliche Datei-Handle, das Sie geschlossen haben, möglicherweise für "etwas anderes" wiederverwendet. Und nun raten Sie mal, was passiert, wenn das Programm fortfährt und denkt, es arbeitet an der Datei (deren Handle Sie geschlossen haben), obwohl dieses Datei-Handle jetzt auf etwas anderes verweist.
Siehe Raymond Chens Beitrag zu diesem Thema
quelle
Ich habe Handle mit Erfolg verwendet, um solche Prozesse in der Vergangenheit zu finden.
quelle
Lockhunter ( http://lockhunter.com/ ) funktioniert auf 32- und 64-Bit-Systemen.
quelle
Who Lock Me funktioniert gut und amüsiert die Leute mit dem Namen!
quelle
Zur Verdeutlichung: Dies ist eher auf ein schlechtes Verhalten von Apps von Drittanbietern zurückzuführen, die den CreateFile- API-Aufruf nicht korrekt verwenden, als auf Windows selbst. Vielleicht ist es eine Konsequenz des Designs von CreateFile, aber done is done und wir können nicht zurückkehren.
Grundsätzlich haben Sie beim Öffnen einer Datei in einem Windows-Programm die Möglichkeit, ein Flag anzugeben, das den gemeinsamen Zugriff ermöglicht. Wenn Sie das Flag nicht angeben, greift das Programm exklusiv auf die Datei zu.
Wenn Explorer hier der Täter zu sein scheint, kann es sein, dass dies nur an der Oberfläche liegt und dass der wahre Täter eine Shell-Erweiterung installiert, die alle Dateien in einem Ordner für eigene Zwecke öffnet, dies aber auch gung-ho dabei, oder das reinigt nicht richtig nach sich. Symantec AV ist etwas, was ich bisher gesehen habe, und ich wäre nicht überrascht, wenn auch andere AV-Programme schuld wären. Plug-Ins für die Quellcodeverwaltung können ebenfalls fehlerhaft sein.
Dies ist keine wirkliche Antwort, sondern nur ein Ratschlag, Windows nicht immer für ein möglicherweise schlecht geschriebenes Programm eines Drittanbieters verantwortlich zu machen (was auch auf jedem anderen Betriebssystem mit impliziter Dateisperrung möglich ist, aber auf jedem Unix-basierten Betriebssystem besteht ein gemeinsamer Zugriff von Standard).
quelle
Wenn Sie auf einem Remoteserver eine Netzwerkfreigabe überprüfen, kann so etwas Einfaches wie die Computerverwaltungskonsole diese Informationen anzeigen und die Datei schließen.
quelle
Apropos Explorer hält eine Datei offen: "Wenn dies bei einer zu löschenden Datei geschieht, haben Sie die Wahl, das Schließen des Handles zu erzwingen oder einen Neustart durchzuführen."
Sie können den Explorer einfach beenden.
Wenn dies eine einmalige Sache ist (der Explorer hält diese Datei normalerweise nicht offen), würde ich davon ausgehen, dass das Abmelden und das erneute Anmelden den Trick machen.
Beenden Sie andernfalls den Desktop Explorer-Prozess und tun Sie, was Sie möchten, solange er nicht mehr vorhanden ist. Starten Sie zuerst eine Kopie von cmd.exe (Sie benötigen eine Benutzeroberfläche, um die beabsichtigte Bereinigung durchzuführen). Stellen Sie sicher, dass keine Nicht-Desktop-Explorer ausgeführt werden. Beenden Sie dann den letzten Explorer, z. B. mit dem Task-Manager. Mach was du willst in der Eingabeaufforderung. Führen Sie abschließend den Explorer an der Eingabeaufforderung aus, und es wird der Desktop.
Ich würde vermuten, dass es einige verbleibende Unannehmlichkeiten geben kann, wenn einige Systray-Programme den Neustart der Shell nicht bewältigen können.
quelle
Dateien können durch lokale Prozesse ( Unlocker ist das zu verwendende Tool) und durch Dateizugriff, der über Freigaben eingeht , gesperrt werden .
In Windows ist eine Funktion integriert, die anzeigt, welche Dateien auf dem lokalen Computer vom Remotecomputer geöffnet / gesperrt wurden (bei dem die Datei über eine Dateifreigabe geöffnet wurde):
Dort können Sie die Datei sogar mit Gewalt schließen.
quelle
Es gibt auch die Opened Files View von NirSoft .
quelle
Mit Process Hacker können Sie leicht erkennen, welche Prozesse Ihre Dateien enthalten:
quelle
Die oben aufgeführten Antworten beziehen sich auf Situationen, in denen ein Programmprozess das Datei-Handle geöffnet hält, was (zum Glück) die meiste Zeit der Fall ist. In einigen Fällen (wie dies derzeit auf diesem System der Fall ist) verfügt das System jedoch selbst über ein Datei-Handle öffnen.
Sie können diese Situation identifizieren, indem Sie den Anweisungen zum Auffinden des Vorgangs zum Halten der Datei mit dem Prozess-Explorer oben folgen und feststellen, dass der Prozessname als "System" aufgeführt ist, oder indem Sie den Anweisungen unter Verwendung des Ressourcenmonitors folgen und feststellen, dass kein Bild angezeigt wird Öffnen eines Dateihandles in der Datei, die Sie interessiert (obwohl Sie die Datei natürlich nicht bearbeiten / löschen können).
In diesem Fall können Sie (soweit mir bekannt ist) einen Neustart durchführen - oder vergessen, irgendetwas mit dieser Datei zu tun.
quelle
Jeremy Zawodnys Blog hat mich vor einiger Zeit auf den Exteneded Task Manager aufmerksam gemacht, und er ist großartig, um weitere Informationen zu Prozessen aufzuspüren. +1 für den Prozess-Explorer wie oben, insbesondere für das Beenden von Prozessen, die der Standard-Task-Manager nicht beendet.
quelle
Es gibt ein Tool FILEMON und zeigt geöffnete Dateien und Handles. Es ist schwierig, mit der Anzeige Schritt zu halten, wenn Sie sie live sehen. Das geht schnell. Sie können jedoch verhindern, dass die Datei live angezeigt wird, und Sie können alle Aktivitäten zum Öffnen / Schreiben von Dateien anzeigen. Jetzt im Besitz von Microsoft, aber ursprünglich von Sysinternals
quelle