Unter welchen Umständen nicht behält die Systemprozess (PID 4) eine offene Datei-Handle?

StackOverflow https://stackoverflow.com/questions/1293398

  •  18-09-2019
  •  | 
  •  

Frage

Meine Anwendung auf einem Windows-Server ausgeführt nutzt eine Jet / Access-Datenbank. Aus irgendwelchen Gründen um alle zwei Wochen, die Datenbankdatei durch den Systemprozess wird gesperrt (PID 4, scheint festgelegt werden)

Nach einigen googeln ich einige andere Benutzer fanden ihre Dateien durch diesen speziellen Prozess gesperrt ist, aber verschiedene Dateien (natürlich).

  • Was ist der allgemeine Grund für den Systemprozess eine offene Datei-Handle zu halten?
  • Ist meine Anwendung die Ursache für diese Sperr Situation?
  • durch den Systemprozess implizit geöffnet alle Griffe? Ich könnte mir vorstellen, dass nach einem Prozess abgestürzt ist, ist der Griff noch offen sein kann und das System-Prozess dauert irgendwie owernship dieser Griff.
  • Kann ich etwas in meiner Anwendung tun, es zu verhindern?
War es hilfreich?

Lösung

Das klingt für mich wie eine Treiber-Level-Ausgabe mit einem undichten Griff.

Wenn Sie ein Anti-Virus-Paket try Upgrade ausführen, deaktivieren (vorübergehend!) Oder zu einer anderen Marke wechseln.

Andere Tipps

Dateien über einen Anteil zugegriffen werden vom Systemprozess (PID 4) gesperrt werden.

Versuchen compmgmt.msc Öffnen -> Systemprogramme -> Shared Folders -> Open Files , um zu sehen, ob die gesperrte Datei dort aufgeführt ist

Siehe auch das Sysinternals-Forum für eine Art und Weise zu replizieren diese.
Nicht alle Anwendungen Dateien sperren, wenn sie geöffnet werden, Excel jedoch der Fall ist. Ich weiß nicht, ob Zugang macht die gleichen ...

Hier ist eine andere mögliche Ursache die ich gefunden habe:

Es ist ein Fehler in Windows 7 und wahrscheinlich in Windows Server 2008 (möglicherweise 64-Bit-Versionen). Es Oberflächen, wenn Sie deaktivieren Application Experience Service und bewirkt, dass die gleichen Probleme wie beschrieben in der Frage.

Re-Aktivierung dieses Dienstes wurde behoben dieses Problem für mich.

Ein bisschen mehr Info hier , warum es ein Problem verursacht.

Liste der SO Fragen, die in Beziehung zu stehen scheinen:

Es kann eine anhaltende Sitzung von einem entfernten Computer auf einen freigegebenen Ordner sein. Wenn das der Fall ist, kann es von der Kommandozeile entsperrt werden:

net session /delete

Ist Ihr Server eingerichtet, um periodische Dateisicherungen durchführen?

Wenn ja, ist das Backup als System nicht ausführen, vielleicht die gesperrte Datei aufgefordert werden, wenn Sie einen Konflikt bekommen?

Für mich war es "Windows Defender" (Anti-Virus). Ich ausgeschlossen meine Visual Studio bauen Ordner von Windows Defender-Liste der Ordner überprüft er, und das Problem ging weg. (Visual Studio war nicht in der Lage auf die EXE-Datei zu erstellen, PID 4 wurde es Sperren für virii zu überprüfen)

Für mich hatte ich es mit einem Vorschlaghammer zu schlagen. Chkdsk / f auf dem Laufwerk, auf dem der Ordner wurde fixiert es befindet. Verwenden Sie mit Vorsicht zu genießen.

Überprüfen Sie die Sicherheitseinstellungen für jeden Ordner und Unterordner. Stellen Sie sicher, dass das System nicht nur automatisch eine spezielle Berechtigungen Einstellung schaffen, die niemanden erlauben, um die Datei zu löschen. Offenbar aus irgendeinem Grund erzeugt das OS eine seltsame besondere Erlaubnis Einstellung, die aus der Datei schützt gelöscht werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top