web-dev-qa-db-fra.com

Pourquoi SYSTEM continuerait-il à verrouiller les descripteurs de fichiers exécutables après la fermeture de l'application?

Je constate un comportement étrange sur ma machine Windows 7; il semble que lorsqu'un exécutable s'exécute, SYSTEM lui laisse un descripteur ouvert pendant une minute environ. Voici ma dernière rencontre:

J'ai installé Steam qui démarre la post-installation de Steam.exe pour se mettre à jour. Cela semble se faire en écrivant une copie temporaire de lui-même, en lançant celle-ci pour effectuer le téléchargement, puis en écrasant la copie d'origine de l'exécutable. Dans mon cas, cela a échoué, prétendant que Steam.exe n'a pas pu être supprimé.

J'ai ouvert le dossier et essayé de supprimer Steam.exe manuellement, mais Windows a prétendu que je n'avais pas la permission. Mon compte est un administrateur et est le seul compte d'utilisateur sur cette machine. Mais juste au cas où, j'ai démarré Explorer en tant qu'administrateur, mais je n'ai toujours pas pu supprimer le fichier. J'ai mis les propriétés du fichier dans l'onglet Sécurité, mais il ne contenait qu'un message indiquant que je n'avais pas la permission de voir les permissions.

Ensuite, j'ai lancé Process Explorer pour voir si quelque chose bloquait le fichier. Le système (PID 4) l'a fait, mais quand j'ai essayé de fermer le descripteur de fichier, une erreur s'est produite indiquant que le descripteur n'était pas valide. J'ai essayé d'afficher les propriétés du descripteur de fichier, mais je n'avais pas la permission de le faire non plus.

J'ai tout arrêté sauf les processus système non terminables et arrêté tous les services que je suis capable de réaliser, y compris tout ce qui concerne les antivirus et pare-feu, mais le problème persiste. J'ai essayé d'utiliser le mot "takeown" pour me donner la propriété du fichier, mais cela prétend que je n'ai pas la permission de le faire. D'autres personnes ont revendiqué le succès en utilisant un outil appelé "Unlocker", mais le même problème que Process Explorer a été rencontré lors de la fermeture du descripteur de fichier.

Il y a longtemps que j'ai désactivé Windows Indexing & Search et exclu C:\de l'indexation, la réponse à cette question ne s'applique pas à moi.

Chaque fois, environ une minute après, le descripteur disparaît et le fichier est immédiatement supprimé. apparemment, la tentative de suppression du programme de mise à jour a été mise en file d'attente et finalement terminée une fois que le fichier n'est plus verrouillé. Malheureusement, la mise à jour est déjà terminée et ne peut pas reprendre. Et lorsque je réinstalle, il essaie bien sûr d'exécuter à nouveau Steam.exe et je suis de retour à la case départ.

Ma question est la suivante: pourquoi ces poignées traînent-elles et comment puis-je les empêcher de le faire?

Edit: Voici les informations supplémentaires demandées par les commentaires:

C:\>fltmc instances
Filter                Volume Name                              Altitude        Instance Name      Frame  VlStatus
--------------------  -------------------------------------  ------------  ---------------------  -----  --------
KLIF                  \Device\Mup                             320400       KLIF                     0
KLIF                  C:                                      320400       KLIF                     0
KLIF                                                          320400       KLIF                     0
luafv                 C:                                      135000       luafv                    0
FileInfo              \Device\Mup                              45000       FileInfo                 0
FileInfo              C:                                       45000       FileInfo                 0
FileInfo                                                       45000       FileInfo                 0

Edit: GMER indique que mon antivirus (Kaspersky) est toujours actif, même s’il a été désactivé à partir de sa propre interface graphique et que son service est arrêté.

AttachedDevice  \Driver\tdx \Device\Ip     kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\Tcp    kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\Udp    kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\RawIp  kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)

Mais tout cela semble être pour les services de réseau; Je ne vois rien concernant le système de fichiers. Est-ce que l'un d'entre eux pourrait être la cause du problème?

Edit: J'ai désactivé le filtre Kaspersky KLIF, mais le problème de verrouillage persiste.

Edit: J'ai résolu le problème spécifique lié à Steam en installant le système, en arrêtant de force le programme d'installation avant de pouvoir lancer Steam.exe, puis en redémarrant en mode sans échec et en l'exécutant à cet emplacement. Donc, apparemment, tout ce qui verrouille l'exécutable n'est pas présent en mode sans échec.

Bien que j'aie résolu ce cas particulier, le problème se pose ailleurs aussi, j'aimerais donc toujours comprendre ce qui se passe.

24
DNS

Faites ce qui suit:

  1. Désactiver l'indexation sur l'emplacement problématique.

  2. Activez le service "Application Experience" et réglez-le sur "Automatique".

C'est ça.

Si votre problème persiste, il s’agit peut-être de Superfetch, bien que ma désactivation ne m’ait pas porté chance.

20
Kevin

KLIF est le pilote Kaspersky AV. Il est plutôt probable que cela a à voir avec cela.

Dans ce cas, ma démarche serait de contacter Kaspersky et de lui demander conseil.

Cependant, vous pouvez d’abord essayer une autre chose: désactivez le pilote (sous HKLM\SYSTEM\CurrentControlSet\Services) en cherchant KLIF ou un nom similaire au nom de clé et définissez la valeur REG_DWORD nommée Start en 4 (ce qui signifie désactivé), puis redémarrez. Cela devrait empêcher le chargement du pilote de filtre KAV. Vous pouvez ensuite utiliser fltmc pour vérifier le résultat.

La sortie de GMER que vous avez fournie n’est pas pertinente pour l’affaire concernée car elle n’affecterait que les connexions réseau, pas les opérations sur les fichiers. Il semble que Kaspersky Internet Security soit installé (ou qu’il soit toujours en veille sur votre ordinateur).

Edit: FYI luafv est responsable de la virtualisation FS en liaison avec le contrôle de compte d'utilisateur. C'est à dire. Si vous n'avez pas accès à un fichier, il est placé dans un dossier séparé dans votre profil. FileInfo appartient à SuperFetch - ce qui pourrait en fait faire partie de votre problème, mais je n'ai pas eu de problème similaire sous Windows 7 moi-même. Il n'est généralement pas recommandé de désactiver SuperFetch, bien que vous puissiez le faire.

6
0xC0000022L

J'avais ce problème avec un exécutable Java maintenu ouvert et j'avais une expérience d'application désactivée ... (la recherche Windows était également désactivée); le réglage de l'expérience d'application pour le démarrage automatique l'a corrigé pour moi. Merci!!! (J'avais aussi des problèmes avec des fichiers ne sauvegardant pas pendant une minute et ne pouvant supprimer des fichiers qu'une minute après les avoir fermés ...

1
David K

Cela m'est arrivé une fois, et il s'est avéré que c'était un ordinateur distant sur lequel le dossier de partage était ouvert.

  1. Utilisez Handle pour savoir quel processus contient le fichier.
  2. (C'était système dans mon cas)
  3. Essayez de fermer le handle: handle.exe -c E14 -p 4. Votre descripteur de fichier sera trouvé dans la sortie de votre recherche pour le descripteur de fichier et le processus sera probablement le même pour le système.
  4. Il a généré Error closing handle: T
  5. Googler ceci, j'ai trouvé ceci lié au réseau
  6. J'ai trouvé sur un autre ordinateur, le dossier était en fait ouvert. Fermé le Tout bon.
1
Todd

J'ai eu ce problème en essayant de renommer un dossier. J'ai dû arrêter le service du serveur tout en effectuant le changement de nom. Le simple redémarrage n'a pas aidé, car le processus système a ré-verrouillé le dossier dès que le service du serveur a redémarré. Cela permettrait probablement de résoudre le problème mentionné ici également.

0
BlackICE