Які файли відкриває конкретна програма?


21

Чи є спосіб перерахувати всі файли, які зараз відкриваються певним процесом у Windows?

Я маю на увазі файли, які мають fopen, але ніколи не отримали fcloseконкретний процес.

Я спробував використовувати монітор процесів Sysinternals, але не міг зрозуміти, як перелічити поточні відкриті файли - але лише тоді, коли відкриття відбудеться.


Пов’язане запитання (з відповідними відповідями на це питання): stackoverflow.com/questions/15708/lsof-equivalent-for-windows
Anderson Green

Відповіді:


17

Ви можете спробувати Sysinternals Process Explorer замість монітора процесів. Монітор процесів - це дизайн для перегляду того, що процеси роблять так, як вони роблять тоді. Провідник процесів - це більше для перегляду поточного стану процесів; це диспетчер завдань, але функціональність приблизно в 10 разів.

Також у Sysinternals є handle.exeінструмент командного рядка, який повідомляє, які файли відкрив процес.


29

Перевірте Провідник процесів від Sysinternals.

Щоб переглянути відкриті файли для процесу, виберіть процес зі списку, виберіть пункт Вид-> Вид нижньої панелі-> Ручки. Усі ручки типу "Файл" - це відкриті файли.

Крім того, чудовим способом знайти, у якій програмі відкритий файл, є використання меню Find-> Handle або DLL. Просто введіть назву шуканого файлу та натисніть "Пошук", щоб знайти процеси з відкритим файлом, який відповідає рядку пошуку.


4
+1 для чого-небудь від Sysinternals ... btw, пряме посилання: live.sysinternals.com/procexp.exe
fretje

+1 за вирішення своєї проблеми з інструментами, якими він користується. ІМО це має бути правильною відповіддю. Немає необхідності використовувати handle.exe, коли ви вже використовуєте і ознайомлюєтеся з провідником процесів.
BoldAsLove

5

Провідник процесів від Sysinternals насправді досить марний, коли справа стосується обробки файлів (на відміну від DLL тощо). Використовуйте Монітор ресурсів Windows, натисніть на вкладку CPU. Поруч із Асоційованими ручками введіть ім’я файлу, і ви побачите, хто його відкриває.


читати @heavyd відповідь, це не марно. Друга частина все ще є дійсним рішенням.
BoldAsLove

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.