Один из моих любимых инструментов для Linux - lsof - настоящий швейцарский армейский нож!
Сегодня мне стало интересно, в каких программах в системе WinXP открыт тот или иной файл. Есть ли утилита, эквивалентная lsof? Кроме того, рассматриваемый файл находился в общей сетевой папке, поэтому я не уверен, что это усложняет ситуацию.
windows
linux
command-line
filesystems
Дэниел Фоне
источник
источник
Эквивалентом
lsof -p pid
является комбинированный вывод дескриптора sysinternals и listdll, т.е.вы можете узнать pid с помощью sysinternals
pslist
.источник
Попробуйте Handle . Filemon и Regmon также отлично подходят для попытки выяснить, что программа duce foo делает с вашей системой.
источник
Один эквивалент lsof может быть объединен с выводом дескриптора Sysinternals и listdll , то есть:
К сожалению, чтобы использовать их, вы должны «работать от имени администратора».
Также listdll и дескриптор не создают непрерывную табличную форму, поэтому фильтрация имени файла скроет PID.
findstr /c:pid: /c:<filename>
должен приблизить вас к обеим утилитам, хотяЗдесь мы видим, что gvim.exe открыл этот файл.
источник
Попробуйте Unlocker .
На сайте Unlocker есть отличная диаграмма (прокрутите вниз после перехода по ссылке), которая показывает сравнение с другими инструментами. Очевидно, что такие сравнения обычно необъективны, поскольку они обычно написаны автором инструмента, но в таблице, по крайней мере, перечислены альтернативы, чтобы вы могли попробовать их сами.
источник
Если файл является .dll , то вы можете использовать TaskList приложение командной строки , чтобы увидеть , чей получил его открытым:
источник
Есть программа "OpenFiles", вроде как часть windows 7. Кажется, что она может делать то, что вы хотите. Он может отображать файлы, открытые удаленными пользователями (через файловый ресурс), и после вызова «openfiles / Local on» и перезапуска системы он должен иметь возможность отображать файлы, открытые локально. Последний, как говорят, имеет штраф за производительность.
источник
Если вы щелкните правой кнопкой мыши значок «Компьютер» (или «Мой компьютер») и выберите «Управление» во всплывающем меню, это приведет вас к консоли управления компьютером.
Там, в System Tools \ Shared Folders, вы найдете «Открыть файлы». Вероятно, это близко к тому, что вы хотите, но если файл находится в общей сетевой папке, вам нужно будет сделать то же самое на сервере, на котором находится файл.
источник
Используйте Process Explorer, чтобы найти идентификатор процесса. Затем используйте Handle, чтобы узнать, какие файлы открыты.
Например, ручка -p
Мне нравится этот подход, потому что вы используете утилиты от самой Microsoft.
источник
В OpenedFilesView в меню «Параметры» есть пункт «Показать сетевые файлы». Возможно, с этим включенным вышеупомянутая утилита пригодится.
источник