646 votes

Comment trouver le processus qui maintient un fichier ouvert dans Windows ?

Une chose qui m'agace au plus haut point avec Windows est la vieille violation du partage erreur. Souvent, vous ne pouvez pas identifier ce qui la maintient ouverte. En général, il s'agit simplement d'un éditeur ou d'un explorateur qui pointe vers un répertoire pertinent, mais il m'est arrivé de devoir redémarrer ma machine.

Des suggestions sur la façon de trouver le coupable ?

21 votes

On pourrait penser qu'après tout ce temps, les gars de Windows nous donneraient un moyen de faire cela facilement à partir de l'Explorer. Je me demande pourquoi cela n'a pas été fait ?

12 votes

Je trouve qu'Explorer est très souvent le processus problématique qui retient un fichier sans raison évidente.

0 votes

Je sais que cela ne vous aidera pas beaucoup, mais je crois me souvenir que c'était une fonctionnalité prévue pour la prochaine version de Windows après vista et 2008 server. ou peut-être que c'est un truc de WinFS. je ne sais plus où j'ai lu ça...

12voto

Scoregraphic Points 524

Lockhunter ( http://lockhunter.com/ ) fonctionne sur les systèmes 32 et 64 bits.

0 votes

Elle est également disponible dans le menu contextuel de ce fichier dans l'Explorateur Windows.

1 votes

Dans mon cas, aucune des autres réponses n'a fonctionné, de même que Lockhunter lorsque j'ai tapé le nom du fichier n'a pas trouvé de processus le verrouillant, mais l'option du menu contextuel a fonctionné ! Merci !

0 votes

On m'a dit tellement de fois à l'OS que les réponses en lien seulement sont découragées. Avec cette réponse, je suis maintenant l'un de ces puristes, et même un double puriste ;)

8voto

Maximus Minimus Points 8917

Pour clarifier, il est plus probable que ce soit le résultat d'un mauvais comportement d'une application tierce qui n'utilise pas l'interface de l'application. CreateFile correctement qu'il ne s'agit de quelque chose dans Windows lui-même. C'est peut-être une conséquence de la conception de CreateFile, mais ce qui est fait est fait et nous ne pouvons pas revenir en arrière.

En fait, lorsque vous ouvrez un fichier dans un programme Windows, vous avez la possibilité de spécifier un indicateur qui autorise l'accès partagé. Si vous ne spécifiez pas cet indicateur, le programme prend l'accès exclusif au fichier.

Maintenant, si Explorer semble être le coupable ici, il se peut que ce ne soit qu'en surface, et que le vrai coupable soit quelque chose qui installe une extension Shell qui ouvre tous les fichiers d'un dossier pour ses propres besoins, mais qui est soit trop enthousiaste en le faisant, soit qui ne nettoie pas correctement après lui. J'ai déjà vu Symantec AV agir de la sorte, et je ne serais pas surpris que d'autres programmes AV soient également en cause. Les plug-ins de contrôle des sources peuvent également être en cause.

Ce n'est donc pas vraiment une réponse, mais juste un conseil pour ne pas toujours blâmer Windows pour ce qui peut être un programme tiers mal écrit (quelque chose qui peut aussi arriver sur n'importe quel autre système d'exploitation qui a un verrouillage implicite des fichiers, mais tout système d'exploitation basé sur Unix a un accès partagé par défaut).

2 votes

Je n'accuserai pas une application tierce du fait que mon explorateur Windows verrouille toujours les fichiers Thumbs.db dans son répertoire de travail, mais ne les déverrouille pas toujours lorsque je change de répertoire de travail. Au moins, ils sont déverrouillés lorsque je ferme la fenêtre, je n'ai pas besoin de tuer TOUS les explorateurs...

0 votes

@Darth, Êtes-vous un spécialiste du marketing chez Microsoft ?

6voto

K. Brian Kelley Points 8974

Sur un serveur distant, lorsque vous vérifiez un partage réseau, quelque chose d'aussi simple que la console de gestion des ordinateurs peut afficher ces informations et fermer le fichier.

0 votes

Exactement, pourquoi y a-t-il des réponses si compliquées ?

6voto

Apropos Explorer tenant un dossier ouvert : "Lorsque cela se produit sur un fichier que vous devez supprimer, vous avez le choix de forcer la fermeture de la poignée, ou de redémarrer."

Tu peux simplement mettre fin à Explorer.

S'il s'agit d'un cas unique (Explorer ne maintient pas normalement ce fichier ouvert), je pense que le fait de se déconnecter et de se reconnecter fera l'affaire.

Sinon, arrêtez le processus de l'Explorateur de bureau et faites ce que vous voulez pendant qu'il est parti. Commencez par lancer une copie de cmd.exe (vous avez besoin d'une interface utilisateur pour effectuer le nettoyage prévu). Assurez-vous qu'il n'y a pas d'autres explorateurs de bureau en cours d'exécution. Puis tuez le dernier explorateur avec, par exemple, le Gestionnaire des tâches. Faites ce que vous voulez dans l'invite de commande. Enfin, lancez Explorer à partir de l'invite de commande, et il deviendra le bureau.

Je suppose qu'il peut y avoir quelques désagréments résiduels si certains programmes de systray ne peuvent pas gérer le Shell redémarrage.

1 votes

C'est beaucoup plus sûr que de fermer la poignée, et moins perturbant que de redémarrer. Cela s'applique également à d'autres programmes. Je constate souvent qu'un programme Microsoft Office verrouille des fichiers même après que je les ai fermés.

5voto

Dirk Paessler Points 924

Les fichiers peuvent être verrouillés par des processus locaux ( déverrouilleur est l'outil à utiliser) et par l'accès aux fichiers qui arrivent par les partages.

Il existe une fonction intégrée dans Windows qui vous montre quels fichiers de l'ordinateur local sont ouverts/verrouillés par l'ordinateur distant (qui a le fichier ouvert via un partage de fichiers) :

* Select "Manage Computer" (Open "Computer Management")
* click "Shared Folders"
* choose "Open Files"

Vous pouvez même y fermer le fichier de force.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X