Une chose qui m'agace sans fin à propos de Windows est l'ancienne erreur de violation de partage . Souvent, vous ne pouvez pas identifier ce qui le maintient ouvert. Habituellement, c'est juste un éditeur ou un explorateur qui pointe juste vers un répertoire pertinent, mais j'ai parfois dû redémarrer ma machine.
Des suggestions sur la façon de trouver le coupable?
windows
file-sharing
cletus
la source
la source
Réponses:
J'ai eu du succès avec Sysinternals Process Explorer . Avec cela, vous pouvez rechercher quels processus ont un fichier ouvert et vous pouvez l’utiliser pour fermer le (s) descripteur (s) si vous le souhaitez. Bien sûr, il est plus sûr de fermer tout le processus. Faites preuve de prudence et de jugement.
Pour rechercher un fichier spécifique, utilisez l'option de menu
Find->Find Handle or DLL...
Taper une partie du chemin d'accès au fichier. La liste des processus apparaîtra ci-dessous.Si vous préférez la ligne de commande, la suite Sysinternals inclut l’outil de ligne de commande Handle , qui répertorie les handles ouverts. Quelques exemples d'utilisation:
c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\
- trouver tous les fichiers ouverts à partir du lecteur E:c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question
la source
Vous pouvez utiliser le moniteur de ressources pour cela, qui est intégré à Windows 7, 8 et 10.
Une fois que vous avez trouvé le descripteur, vous pouvez identifier le processus en consultant la colonne Image et / ou PID.
Vous pouvez ensuite essayer de fermer l’application comme vous le feriez normalement ou, si ce n’est pas possible, cliquer avec le bouton droit de la souris sur la poignée et arrêter le processus directement à partir de là. Peasy facile!
Copié de ma réponse d'origine: https://superuser.com/a/643312/62
la source
resmon
directement à partir de cmdEssayez la commande openfiles .
la source
openfiles /local on
et en redémarrant. Cela rend cette fonctionnalité pas très utile.Soyez juste très prudent avec les poignées de fermeture; c'est encore plus dangereux que vous ne le pensez, en raison du recyclage des poignées - si vous fermez le fichier, et que le programme ouvre autre chose, le fichier original que vous avez fermé peut être réutilisé pour ce "autre chose". Et maintenant, devinez ce qui se passera si le programme continue, pensant qu'il fonctionne sur le fichier (dont vous avez fermé le pseudo), alors qu'en fait ce descripteur de fichier pointe maintenant vers autre chose.
voir l'article de Raymond Chen sur ce sujet
la source
J'ai utilisé Handle avec succès pour trouver de tels processus dans le passé.
la source
Lockhunter ( http://lockhunter.com/ ) fonctionne sur les systèmes 32 et 64 bits.
la source
Who Lock Me fonctionne bien et permet de divertir les gens avec le nom!
la source
Juste pour clarifier, cela est probablement dû à un comportement incorrect des applications tierces n'utilisant pas correctement l'appel de l'API CreateFile qu'à quoi que ce soit dans Windows lui-même. C'est peut-être une conséquence de la conception de CreateFile, mais cela est fait et nous ne pouvons pas revenir en arrière.
En gros, lorsque vous ouvrez un fichier dans un programme Windows, vous avez la possibilité de spécifier un indicateur permettant un accès partagé. Si vous ne spécifiez pas l'indicateur, le programme prend un accès exclusif au fichier.
Maintenant, si Explorer semble être le coupable, il se peut que ce ne soit que superficiel, et que le véritable coupable consiste à installer une extension shell qui ouvre tous les fichiers d’un dossier à ses propres fins, mais non plus. gung-ho en le faisant, ou cela ne nettoie pas correctement après lui-même. Symantec AV est quelque chose que j'ai déjà vu faire cela auparavant, et je ne serais pas surpris que d'autres programmes audiovisuels soient également à blâmer. Les plug-ins de contrôle de source peuvent également être en cause.
Donc, pas vraiment une réponse, mais juste un conseil pour ne pas toujours reprocher à Windows ce qui pourrait être un programme tiers mal écrit (quelque chose qui peut également arriver sur tout autre système d’exploitation ayant un verrouillage de fichier implicite, mais tout système d’exploitation basé sur Unix a un accès partagé par défaut).
la source
Sur un serveur distant, lorsque vous vérifiez sur un partage réseau, quelque chose d'aussi simple que la console de gestion de l'ordinateur peut afficher ces informations et fermer le fichier.
la source
Apropos Explorer maintenant un fichier 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."
Vous pouvez simplement arrêter Explorer.
S'il s'agit d'une chose ponctuelle (normalement, l'explorateur ne garde pas ce fichier ouvert), alors je suppose que se déconnecter puis se reconnecter fera l'affaire.
Sinon, arrêtez le processus de l'Explorateur de postes de travail et faites ce que vous voulez lorsqu'il est parti. Commencez par créer une copie de cmd.exe (vous avez besoin d’une interface utilisateur pour effectuer le nettoyage souhaité). Assurez-vous qu'aucun explorateur autre que de bureau ne soit en cours d'exécution. Tuez ensuite le dernier explorateur avec, par exemple, le gestionnaire de tâches. Faites ce que vous voulez dans l'invite de commande. Enfin, exécutez Explorer à partir de l'invite de commande, qui deviendra le bureau.
J'imagine qu'il peut y avoir un désagrément résiduel si certains programmes systray ne peuvent pas gérer le redémarrage du shell.
la source
Les fichiers peuvent être verrouillés par des processus locaux ( unlocker est l'outil à utiliser) et par l'accès aux fichiers via des partages.
Il existe une fonction intégrée dans Windows qui vous indique quels fichiers de l'ordinateur local sont ouverts / verrouillés par un ordinateur distant (le fichier est ouvert via un partage de fichier):
Là, vous pouvez même fermer le fichier avec force.
la source
Il existe également la vue Fichiers ouverts de NirSoft .
la source
Avec Process Hacker, vous pouvez identifier les processus qui stockent facilement vos fichiers:
la source
Les réponses susmentionnées couvrent les situations dans lesquelles un processus de programme maintient le descripteur de fichier ouvert, ce qui (heureusement) est la plupart du temps. Toutefois, dans certains cas (comme cela se produit actuellement sur ce système), le système lui-même contient un descripteur de fichier. ouvert.
Vous pouvez identifier cette situation en suivant les instructions pour rechercher le processus de conservation du descripteur de fichier à l'aide de l'explorateur de processus ci-dessus, en notant que le nom du processus est répertorié en tant que 'système', ou en suivant les instructions à l'aide du moniteur de ressources et en notant qu'aucune image n'est affichée. avoir un descripteur de fichier ouvert sur votre fichier d’intérêt (bien sûr, quelque chose ne se passe pas car vous ne pouvez pas éditer / supprimer le fichier, etc.).
Si cela se produit, votre option (à ma connaissance) est de redémarrer - ou d’oublier de faire quoi que ce soit avec ce fichier.
la source
Le blog de Jeremy Zawodny m'a récemment expliqué le rôle du gestionnaire de tâches Exteneded, qui permet également de rechercher des informations supplémentaires sur les processus. +1 pour Process Explorer comme ci-dessus également, en particulier pour la suppression de processus auxquels le Gestionnaire de tâches standard ne se terminera pas.
la source
Il existe un outil FILEMON et montre les fichiers ouverts et les poignées. Il est difficile de suivre son affichage si vous le regardez en direct, il le fait rapidement. Mais vous pouvez empêcher l'affichage en direct et regarder toutes les activités d'ouverture / écriture de fichiers. Maintenant détenue par Microsoft mais à l'origine par Sysinternals
la source