Gibt es eine Möglichkeit, alle Dateien aufzulisten, die derzeit von einem bestimmten Prozess in Windows geöffnet werden?
Ich meine Dateien, die eine haben fopen
, aber nie eine fclose
von einem bestimmten Prozess.
Ich habe versucht, Sysinternals Process Monitor zu verwenden, konnte aber nicht herausfinden, wie die aktuell geöffneten Dateien aufgelistet werden sollen - allerdings nur, wenn das Öffnen erfolgt.
Antworten:
Sie können Sysinternals Process Explorer anstelle von Process Monitor verwenden. Mit Process Monitor können Sie beobachten, welche Prozesse wie damals ablaufen. Der Prozess-Explorer dient eher dazu, den aktuellen Status von Prozessen zu sehen. Es ist Task-Manager, aber mit etwa 10-facher Funktionalität.
Sysinternals verfügen auch über
handle.exe
ein Befehlszeilentool, das angibt, welche Dateien ein Prozess geöffnet hat.quelle
Checken Sie den Process Explorer von Sysinternals aus.
Um die geöffneten Dateien für einen Prozess anzuzeigen, wählen Sie einen Prozess aus der Liste aus und wählen Sie die Menüoption Ansicht-> Ansicht des unteren Bedienfelds-> Handles. Alle Punkte vom Typ "Datei" sind die geöffneten Dateien.
Mit der Menüoption Find-> Handle oder DLL können Sie außerdem hervorragend ermitteln, in welcher Anwendung eine Datei geöffnet ist. Geben Sie einfach den Namen der gesuchten Datei ein und klicken Sie auf "Suchen", um die Prozesse mit einer geöffneten Datei zu finden, die der Suchzeichenfolge entspricht.
quelle
Process Explorer von Sysinternals ist eigentlich ziemlich nutzlos, wenn es darum geht, mit Dateihandles umzugehen (im Gegensatz zu DLLs usw.). Verwenden Sie Windows Resource Monitor und klicken Sie auf die Registerkarte CPU. Geben Sie neben Associated Handles den Namen der Datei ein und Sie werden sehen, wer sie geöffnet hat.
quelle
Wie Dave zu Recht sagte, verwenden Sie Process Explorer von SysInternals, ansonsten bieten sie verschiedene Dienstprogramme. Auschecken: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx
quelle