Как найти процесс по файлу
Одна вещь, которая раздражает меня в Windows, это старая ошибка нарушения общего доступа. Часто вы не можете определить, что держит его открытым. Обычно это просто редактор или исследователь, просто указывающий на соответствующий каталог, но иногда мне приходилось прибегать к перезагрузке компьютера.
Любые предложения о том, как найти виновника?
Вы могли бы подумать, что после всего этого времени ребята из Windows дадут нам способ сделать это легко из Проводника. Интересно, почему этого не произошло? Я считаю, что Explorer очень часто является проблемным процессом, который удерживает файл без видимой причины. Я знаю, что это вам мало поможет, но я вспомнил, что это была запланированная функция следующего выпуска Windows после Vista и 2008 Server. или, может быть, это вещь WinFS. не уверен, где я это прочитал . см. мой ответ о суперпользователе здесь , в итоге OpenedFilesView все еще работает в 2019 годуЯ имел успех с Sysinternals Process Explorer . С помощью этого вы можете искать, чтобы найти, какой процесс (ы) имеют открытый файл, и вы можете использовать его, чтобы закрыть дескриптор (ы), если хотите. Конечно, безопаснее закрыть весь процесс. Проявляйте осторожность и рассудительность.
Чтобы найти конкретный файл, используйте пункт меню « Find->Find Handle or DLL. Введите» в части пути к файлу. Список процессов появится ниже.
Если вы предпочитаете командную строку, в комплект Sysinternals входит инструмент Handle командной строки , в котором перечислены открытые дескрипторы. Несколько примеров о том, как его использовать:
- c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\ - найти все файлы, открытые с диска E:
- c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question
Для этого вы можете использовать Resource Monitor, который встроен в Windows 7, 8 и 10.
- Откройте Resource Monitor , который можно найти
- Выполнив поиск Resource Monitor или resmon.exe в меню «Пуск», или
- Как кнопка на вкладке « Производительность » в вашем диспетчере задач
- Перейти на вкладку CPU
- Используйте поле поиска в разделе « Связанные дескрипторы »
- Смотрите синюю стрелку на снимке экрана ниже
Найдя дескриптор, вы можете определить процесс, посмотрев на столбец «Изображение» и / или «PID».
Затем вы можете попытаться закрыть приложение, как обычно, или, если это невозможно, просто щелкнуть правой кнопкой мыши по дескриптору и завершить процесс прямо оттуда. Очень просто!
Просто будьте очень осторожны с закрывающимися ручками; это даже более опасно, чем вы думаете, из-за повторного использования дескриптора - если вы закроете дескриптор файла, и программа откроет что-то еще, этот оригинальный дескриптор файла, который вы закрыли, может быть повторно использован для этого «чего-то еще». А теперь угадайте, что произойдет, если программа продолжит работу, думая, что она работает с файлом (чей дескриптор вы закрыли), когда фактически этот дескриптор файла теперь указывает на что-то другое.
Н аверное, каждому из пользователей Windows хотя бы раз приходилось иметь дело с так называемыми неудаляемыми файлами и папками. Как правило, причиной невозможности удалить, переместить или хотя бы переименовать такой объект является использование его каким-то процессом, причём необязательно чтобы этот процесс был системным. Это может быть антивирус, архиватор или какой-нибудь редактор.
Обычно в окне с ошибкой прямо указывается, что за процесс препятствует дальнейшим действиям с объектом, но бывает и так, что вместо этого сообщается, что файл или папка открыты в другой программе. Это понятно, но вот в какой именно?
Так вот, определить её очень просто. Во всех популярных версиях Windows (начиная с 7) есть такая встроенная утилита как «Монитор ресурсов», предназначающаяся для контроля использования программных и аппаратных ресурсов. В её поле зрения попадают все процессы, в том числе и зависшие. Она то как раз и подскажет, что именно держит файл или папку.
Нажмите сочетание клавиш Win + R и выполните в открывшемся окошке команду resmon .
Откроется окно монитора ресурсов. Переключитесь в нём на вкладку «ЦП» и введите в поле «Поиск дескрипторов» название объекта, при удалении, перемещении или переименовании которого возникла ошибка. Результаты отобразятся тут же, чуть ниже. В нашем примере удалению папки «Всякая всячина» препятствовал архиватор WinRAR , но в самом окне с описанием ошибки об этом ничего не говорилось.
Вот так всё просто. Кстати, если удерживающий процесс не является критическим, его можно завершить прямо из окна монитора ресурсов.
После этого проблемный файл, папка или другой объект легко смогут быть удалены обычным способом.
Как я могу узнать, какой процесс блокирует файл или папку в Windows? Например, при попытке удалить папку Windows сообщает следующее:
Операция не может быть завершена, так как эти папка или файл открыты в другой программе. Закройте папку или файл и повторите попытку.
Такая же ошибка может возникнуть при переименовании или удаления как папки, так и файла. Но как узнать, какая программа или приложение в настоящее время использует его и не позволяет удалить файл или папку?
Имеется сразу несколько способов и программ чтобы найти процессы и программы, которые открыли файл.
1. Монитор ресурсов
Для поиска программы или процесса, открывшей файл, вы можете использовать Монитор ресурсов (Resource Monitor), который встроен в Windows 7, 8 и 10.
Откройте Монитор ресурсов, это можно сделать несколькими способами:
- В поле для поиска введите «Монитор ресурсов» или resmon.exe:
- Или в Диспетчере задач перейдите на вкладку «Производительность» и найдите кнопку «Открыть монитор ресурсов»:
В Мониторе ресурсов перейдите на вкладку ЦП (CPU). Используйте поле поиска в разделе «Связанные дескрипторы»
В результатах поиска в столбце «Образ» вы увидите, какая программа запустила процесс, блокирующий файл.
Здесь же вы можете кликнуть правой кнопкой мыши по любому найденному процессу и нажать «Завершить процесс», чтобы закрыть программу, блокирующую файл.
2. Process Explorer
Перейдите в Find → Handle or DLL.
В текстовом поле "Handle or DLL substring:" введите путь до файла или папки. Будут показаны все процессы, которые имеют открытый обработчик на этот файл.
3. OpenedFilesView
OpenedFilesView это бесплатная программа не требующая установки, она покажет все открытые файлы, имеется возможность искать по имени или пути файла:
4. LockHunter
LockHunter — это надёжная программа для разблокировки файлов.
Это бесплатный инструмент для удаления файлов, заблокированных неизвестным процессом. LockHunter полезен для борьбы с вредоносными программами и другими программами, которые блокируют файлы без причины. В отличие от других подобных инструментов, он удаляет файлы в корзину, поэтому вы можете восстановить их, если удалили по ошибке.
Иногда, при попытке удалить, переместить или переименовать файл, могут возникать различные окна с системными предупреждениями следующего вида:
- "Не удается удалить файл: отказано в доступе" / "Cannot delete file: Access is denied"
- "Обнаружена проблема общего доступа" / "There has been a sharing violation"
- "Исходный файл возможно используется" / "The source or destination file may be in use"
- "Файл используется другой программой или пользователем" / "The file is in use by another program or user".
- "Убедитесь, что диск не переполнен и не защищен от записи и что файл не используется в настоящее время" / "Make sure the disk is not full or write-protected and that the file is not currently in use"
Примечание: Как альтернативу, вы так же можете использовать монитор ресурсов Windows для поиска программ, блокирующих доступ к файлу.
Как узнать, какие программы использует файл в Windows 7?
- Откройте Process Explorer от имени администратора
- На панели инструментов найдите значок в виде прицела (иконка выделена на рисунке выше)
- Перетащите иконку на заблокированный файл или каталог
- Программы, которые используют данный файл, будут подсвечены в общем списке процессов в главном окне Process Explorer
Как узнать, какие программы и DLL держат открытые маркеры (дескрипторы) на файл в Windows 7?
Process Explorer можно скачать здесь.
Примечание: Как альтернативу, вы так же можете программы из обзора Лучшие бесплатные утилиты для удаления блокированных файлов. Несмотря на их название, они так же позволяют копировать и перемещать файлы. А так же позволяют обойти ряд таких ограничений, как блокировка доступа к файлу при старте системы.
Теперь, вы знаете, как узнать какие процессы Windows используют файл. А так же знаете, как можно разблокировать доступ к файлам.
Что такое процессы windows и как можно ими управлять? Как найти и удалить с компьютера вирусный процес с помощью программы Starter?
Список всех выполняемых на компьютере программ можно просмотреть с помощью Диспетчера задач Windows. Для этого необходимо нажать на клавиатуре сочетание клавиш Ctrl+Alt+Del. Вы увидите список процессов, и сразу возникнет вопрос: зачем нужен каждый конкретный процесс в этом списке? Давайте разберемся, что же такое процессы и как можно ими управлять.
Процессы – это все, что происходит в данный момент времени в системе. В Диспетчере задач на вкладке “Процессы” отображаются все запущенные на данный момент программы. Процессы могут быть “порождены” либо пользователем, либо системой. Системные процессы запускаются при загрузке Windows; пользовательские процессы – это программы, запущенные самим пользователем компьютера либо запущенные от его имени. Все системные процессы запускаются от имени LOCAL SERVICE, NETWORK SERVICE или SYSTEM (данная информация доступна в Диспетчере задач в столбце “Имя пользователя”).
Диспетчер задач позволяет только просматривать список процессов и завершать их работу. Для этого выделите имя процесса в списке и нажмите кнопку “Завершить процесс”.Это означает завершение работы программы, которой принадлежит процесс. Однако в Диспетчере задач невозможно просмотреть информацию о том или ином процессе.
Для управления процессами Windows я бы рекомендовал использовать более мощную утилиту, которая называется Starter. Это отличная бесплатная программа, которая к тому же не требует установки. Скачиваем ее здесь, затем запускаем из папки файл Starter.exe и выбираем сверху вкладку “Процессы”.
Starter показывает все процессы в реальном времени, предоставляя исчерпывающую информацию по каждому из них. Щелкнув правой клавишей мыши по интересующему нас процессу и выбрав пункт “Свойства файла”, мы можем узнать производителя программного модуля, версию, атрибуты и другие сведения. Контекстное меню процесса также позволяет перейти в папку с программой, завершить процесс либо найти информацию о нем в интернете.
Как избавиться от вирусов на компьютере с помощью Starter?
Очень часто вирусы и другие вредоносные программы маскируются под различные процессы. Поэтому, если вы заметили что с вашим компьютером что-то не так – запустите проверку антивирусом. Если это не помогло или ваш антивирус вообще отказался запускаться, откройте Диспетчер задач и просмотрите все запущенные процессы.
Если при нажатии Ctrl+Alt+Del у вас появляется ошибка: “Диспетчер задач отключен администратором”, читайте вот эту мою заметку.
Особое внимание уделите процессу, если тот запущен от имени пользователя и потребляет слишком много ресурсов (столбцы “ЦП” и “Память”). Если вы нашли в списке явно подозрительный процесс – завершите его и посмотрите, как после этого будет работать ваша система. Если же вы сомневаетесь или не знаете, какой программе принадлежит запущенный процесс – лучше зайдите в Google или Яндекс, введите в поисковой строке название процесса и найдите информацию о нем.
Встроенный в Windows Диспетчер задач конечно позволяет отключать процессы, но, к сожалению, дает очень мало информации по ним, а потому довольно сложно понять является ли процесс вирусным. Программа Starter в этом плане намного полезнее.
Итак, чтобы найти и удалить с компьютера вирусный процесс, делаем следующее:
1. Запускаем программу Starter и переходим во вкладку “Процессы”.
2. Находим процесс, который вызывает у нас подозрения. Щелкаем по нему правой клавишей мыши и выбираем пункт “Свойства файла”. Я для примера выбрал файл svchost.exe. В открывшемся окне смотрим компанию-производителя данного приложения:
Дело в том, что практически любой процесс подписывается его разработчиком. А вот вирусные приложения как правило не подписаны.
В моем случае файл svchost.exe подписан компанией Microsoft Corporation и потому мы можем ему доверять.
3. Если выбранный процесс оказался никем не подписан или подписан какой-то странной компанией, то снова щелкаем правой клавишей по названию этого процесса и выбираем “Искать в Internet” – “Google” (интернет на компьютере при этом должен быть подключен).
4. Если на предложенных гуглом сайтах подтверждают, что данный процесс – вирусный, то необходимо перейти в папку этого процесса (для этого в Starter в контекстном меню выбираем пункт “Проводник в папку процесса”). Затем, предварительно завершив процесс, удаляем здесь файл этого процесса.
Если вы все таки сомневаетесь вирус это или нет (возможно вам не удалось посмотреть информацию о нем в Google в виду отсутствия интернета), то можете просто сменить расширение у данного файла (например, с .exe на .txt) и переместить его в другую папку.
На этом все. Сегодня мы узнали, что такое процессы Windows и с помощью каких утилит ими можно управлять. Кроме того, теперь мы умеем избавляться от вирусов, маскирующихся под различные процессы.
Читайте также: