Existe-t-il un moyen de répertorier tous les fichiers actuellement ouverts par un processus spécifique sous Windows?
Je veux dire les fichiers qui ont un fopen
, mais qui n'ont jamais été obtenus fclose
par un processus spécifique.
J'ai essayé d'utiliser Sysinternals Process Monitor, mais je ne pouvais pas comprendre comment répertorier les fichiers ouverts en cours - mais uniquement lorsque l'ouverture se produit.
Réponses:
Vous pouvez essayer Sysinternals Process Explorer au lieu de Process Monitor. Process Monitor est conçu pour observer ce que les processus font comme ils le font alors. L'Explorateur de processus est plus pour voir l'état actuel des processus; c'est Task Manager mais avec environ 10 fois la fonctionnalité.
Sysinternals possède également
handle.exe
un outil en ligne de commande qui vous indique les fichiers ouverts par un processus.la source
Consultez Process Explorer de Sysinternals.
Pour voir les fichiers ouverts pour un processus, sélectionnez un processus dans la liste, sélectionnez l'option de menu Affichage-> Affichage du panneau inférieur-> Poignées. Toutes les poignées de type "Fichier" sont les fichiers ouverts.
En outre, un excellent moyen de trouver quelle application a un fichier ouvert est d'utiliser l'option de menu Find-> Handle ou DLL. Entrez simplement le nom du fichier que vous recherchez et appuyez sur "Rechercher" pour trouver les processus avec un fichier ouvert correspondant à la chaîne de recherche.
la source
Process Explorer de Sysinternals est en fait assez inutile quand il s'agit de traiter les descripteurs de fichiers (par opposition aux DLL, etc.). Utilisez Windows Resource Monitor, cliquez sur l'onglet CPU. À côté de Poignées associées, tapez le nom du fichier et vous verrez qui l'a ouvert.
la source
Comme Dave l'a dit à juste titre, utilisez Process Explorer de SysInternals, en plus de cela, ils proposent différents ensembles d'utilitaires. Paiement: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx
la source