Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как узнать какой процесс создал файл


как отследить приложение, записывающее непонятные файлы на диск – Вадим Стеркин

Непонятные файлы на диске мы обнаруживаем двумя путями. Либо они явно видны в проводнике или файловом менеджере, либо к ним приводят поиски причины исчезновения свободного места на диске. Хорошо, если после удаления файлов, они больше не появляются. Но так бывает не всегда, и в этом случае приходится определять приложение, которое их создает.

Однажды на форум обратился человек, у которого какое-то приложение записывало в корень системного диска файлы, в имени которых содержится tmp _out.

Конечно, не исключено, что эта система заражена, и требуется тщательная проверка всевозможными антивирусными средствами. Но далеко не всегда проблема связана с вредоносным кодом, и тогда понадобится другой подход. Проще всего вычислить виновника появления таких файлов с помощью утилиты Process Monitor. Из видео за четыре минуты вы узнаете, как это сделать.

Отслеживание активности

При запуске утилита отслеживает несколько типов системной активности:

  • реестр
  • файловую систему
  • сеть
  • процессы и потоки

Поскольку мы ищем причину записи файлов на диск, нужно сосредоточиться на активности в файловой системе. Для этого на панели инструментов оставьте включенной только одну кнопку, отвечающую за активность на диске.

Кроме того, убедитесь, что утилита отслеживает активность. Если у вас перечеркнута кнопка, которая на рисунке обведена красным, нажмите CTRL+E.

На рисунке выше активность отслеживается, причем только в файловой системе.

Основной фильтр

Теперь нужно применить фильтр, чтобы исключить не относящуюся к делу активность. Нажмите сочетание клавиш CTRL+L, и вы увидите возможности фильтрации. В Process Monitor сразу активны некоторые фильтры, исключающие отслеживание деятельности самой программы, а также некоторых системных компонентов (файла подкачки, таблицы MFT и т.д.). Это сделано для того, чтобы исключить мониторинг стандартной активности системы. В большинстве случаев удалять эти фильтры не нужно, и достаточно просто добавить свой.

На рисунке выше показан фильтр, который будет отслеживать создание и изменение всех файлов, в путях к которым содержится tmp _out. Давайте разберем фильтр подробнее слева направо:

  • Path. Путь в файловой системе. Также можно указывать разделы реестра, когда отслеживается активность в нем.
  • contains. Условие, по которому определяется поиск ключевого слова. В переводе с английского это слово означает «содержит». В зависимости от задачи можно конкретизировать условие, выбрав вариант begins with (начинается с) или ends with (заканчивается на).
  • tmp _out. Ключевое слово, которое в данном случае должно содержаться в пути. Имя файла и его расширение являются частью полного пути к файлу.
  • Include. Включение заданного условия в список отслеживаемых.

Не забудьте нажать кнопку Add, чтобы добавить фильтр в список. Впрочем, если вы забудете, Process Monitor напомнит об этом, прежде чем закрыть окно фильтров.

В данном случае я использовал часть имени файла в качестве ключевого слова, поскольку все непонятные файлы содержат в имени tmp_out. Если файлы создаются с разными именами, но зато в определенной папке, используйте путь к этой папке в качестве ключевого слова.

Поскольку задано жесткое условие фильтрации файловой активности, в окне программы, скорее всего, теперь не будет отображаться никаких процессов. Но Process Monitor уже начал их отслеживать.

Проверить работу фильтра очень просто. Достаточно создать в текстовом редакторе файл с искомым именем или в наблюдаемой папке, и Process Monitor моментально отреагирует на это.


Увеличить рисунок

Дополнительные фильтры

Обратите внимание, что утилита зафиксировала не только активность блокнота, но также проводника и поиска Windows. Не относящиеся к делу процессы можно исключить из результатов, создав дополнительные фильтры. Достаточно щелкнуть по процессу правой кнопкой мыши и выбрать из контекстного меню пункт Exclude <имя процесса>. Это самый простой способ создания фильтра, но можно сделать это из окна фильтрации, как показано выше. В этом случае условие будет: Process Name – Is — <имя процесса> — Exclude .

Запись и открытие лога

Учтите, что при длительном отслеживании размер лога может измеряться гигабайтами. По умолчанию Process Monitor записывает лог в файл подкачки. Если у вас маленький системный раздел, имеет смысл сохранять лог в файл на другом разделе диска.

Для сохранения лога в файл нажмите сочетание клавиш CTRL+B и укажите имя и желаемое расположение файла.

Изменения вступают в силу после перезапуска захвата активности. Теперь можно смело оставить Process Monitor включенным на длительное время, не опасаясь за лимит дискового пространства.

Остановить отслеживание активности можно сочетанием клавиш CTRL+E.

Впоследствии вы всегда сможете загрузить в утилиту лог из сохраненного файла. Закройте Process Monitor и дважды щелкните файл лога с расширением PML. Содержимое лога отобразится в окне Process Explorer.

Человек, обратившийся на форум с проблемой, так и не вернулся сообщить, помог ли ему мой совет. Но он был с таким вопросом не первый и, наверняка, не последний. Если вопрос возникнет у вас, вы сможете ответить на него с помощью Process Monitor.


О видео

Читатели блога выразили поддержку моей идее дополнять статьи видеоматериалами. Я подумал, что этот случай очень хорошо подходит, и записал ролик длиной менее 4 минут.

Если честно, создание такого видео занимает намного больше времени, чем написание статьи. Поэтому я в любом случае не готов заменять печатный текст видеоматериалами. Но мне кажется, что в данном случае видео интереснее и понятнее. А что вы думаете по этому поводу?

Видео длится около четырех минут, и я старался сделать его быстрым и емким. Ведь в реальности подготовка к поимке приложения занимает буквально одну минуту. Вас устраивает скорость изложения?

Более подробный рассказ о Process Monitor и другие примеры его практического использования вы можете посмотреть в видео моего коллеги Василия Гусева, если у вас есть свободные 40 минут :)

Обсуждение завершено.

Как узнать какие процессы Windows используют файл?

– Автор: Игорь (Администратор)

Иногда, при попытке удалить, переместить или переименовать файл, могут возникать различные окна с системными предупреждениями следующего вида: 

  • "Не удается удалить файл: отказано в доступе" / "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"

Одним из лучших способов справиться с заблокированными файлами и каталогами - это воспользоваться бесплатной программой Process Explorer от Microsoft. Программа уже была описана в обзоре Лучшие бесплатные диспетчеры процессов, и вот как ее можно использовать для того, чтобы узнать какой процесс или какая DLL блокирует доступ к файлу. Вам потребуются права администратора.

Примечание: Как альтернативу, вы так же можете использовать монитор ресурсов Windows для поиска программ, блокирующих доступ к файлу.

Как узнать, какие программы использует файл в Windows 7?

В Windows 7 и выше, системное сообщение может содержать название программы, блокирующую доступ к файлу. В Windows XP, обычно, такой информации нет. В любом случае, есть простой способ, как можно найти программу:

process — Как определить, какой процесс создает файл? [Дубликат]

Ну, вы можете многократно запускать lsof, и если вам повезет, преступник будет держать файл открытым достаточно долго, чтобы он показывал. То есть:.

$ lsof -r1 /path/to/file 

или для многих файлов

$ lsof -r1 /path/to/folder/* 

Здесь будет отображаться весь доступ к данному пути в определенный момент времени один раз в секунду. Это включает перечисление PID процесса, обращающегося к файлу.

Если это не работает, то есть файл открывается и закрывается очень быстро, что часто бывает, я считаю, что вам нужно искать более сложные инструменты. Возможно, loggedfs может быть чем-то?

Hackland
Если один раз в секунду lsof не будет работать, вы можете, конечно, взломать цикл while, который работает lsof как можно быстрее. Как:

$ while true; do lsof /paht/to/file; done; 

Не очень, но кто знает, может просто сделать это.

ответил 0scar 25 Maypm11 2011, 22:28:06

узнать какой процесс создал файл

Некая дрянь (предполагаю) создает файлик [email protected] в папке C:\WINDOWS\system32. Удаление не помогает, восстанавливается за пять минут. Как отследить родителя?

Примечание:
CureIT ом свежим проверялось, Аваст в дежурном режиме, собственно следы дряньки хлопнул Spyware Terminator. Procmon обозначает родителем Explorer :).

Примечание:
"Лишних" процессов в диспетчере не вижу.

Примечание:
Поиском по сетям всегда выносит на http://www.prevx.com . Может, они его и породили??

Примечание:
Либо их сканер действительно так хорош, что только он фиксанул в "Индонезии от 15 декабря 2010"

Примечание:
Теперь его зовут C:\WINDOWS\system32\[email protected] и "родил" его svchost под операции "запись файла" и "запрос инфы об имени" (по procmon-у).

Примечание:
Опосля Новогодья продолжил процесс поиска. В папке C:\Documents and Settings\NetworkService\Local Settings\Temporary Internet Files\Content.IE5\4CFC2CID обнаружил залежи дерьма с цифровыми именами..
Так же имелся поганец C:\RECYCLER\S-1-5-21-0749145989-2511438401-797061224-0848\csisf.exe , скрытый и выковыряный TotalCom с изменением атрибутов.
Завтра продолжу.

Примечание:
Полагаю, - окончилась борьба с дрянью. После зачистки темпорарных папок всех пользунов с удалением Content.IE5, очистки реестра от следов csisf.exe, установки IE8, SP3 ... два часа .. полет нормальный. Сеть не рвет. До этого при разрыве сети не было возможности отключить соединение (посмотреть состояние) и, соответственно, нельзя было его перезапустить без перезагрузки системы.

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.

Как определить, какой процесс в Windows 10 не дает переименовать, переместить либо удалить файл или папку

Наверное, каждому из пользователей Windows хотя бы раз приходилось иметь дело с так называемыми неудаляемыми файлами и папками. Как правило, причиной невозможности удалить, переместить или хотя бы переименовать такой объект является использование его каким-то процессом, причём необязательно чтобы этот процесс был системным. Это может быть антивирус, архиватор или какой-нибудь редактор.

Обычно в окне с ошибкой прямо указывается, что за процесс препятствует дальнейшим действиям с объектом, но бывает и так, что вместо этого сообщается, что файл или папка открыты в другой программе. Это понятно, но вот в какой именно?

Так вот, определить её очень просто. Во всех популярных версиях Windows (начиная с 7) есть такая встроенная утилита как «Монитор ресурсов», предназначающаяся для контроля использования программных и аппаратных ресурсов. В её поле зрения попадают все процессы, в том числе и зависшие. Она то как раз и подскажет, что именно держит файл или папку.

Нажмите сочетание клавиш Win + R и выполните в открывшемся окошке команду resmon.

Откроется окно монитора ресурсов. Переключитесь в нём на вкладку «ЦП» и введите в поле «Поиск дескрипторов» название объекта, при удалении, перемещении или переименовании которого возникла ошибка. Результаты отобразятся тут же, чуть ниже. В нашем примере удалению папки «Всякая всячина» препятствовал архиватор WinRAR, но в самом окне с описанием ошибки об этом ничего не говорилось.

Вот так всё просто. Кстати, если удерживающий процесс не является критическим, его можно завершить прямо из окна монитора ресурсов.

После этого проблемный файл, папка или другой объект легко смогут быть удалены обычным способом.

Как узнать какой процесс открыл и блокирует доступ к файлу в Windows?

Для того, чтобы узнать какой процесс открыл и блокирует доступ к файлу в Windows нам поможет программа Process Explorer. Эта прога отображает все работающие процессы и позволяет просмотреть загруженные DLL файлы и отрытые хэндлы для любого процесса.

Итак, для того чтобы узнать какой процесс блокирует файл, вам нужно:
1) скачать программу Process Explorer на сайте microsoft (размер около 1.5 Мб)

2) запустить Process Explorer, выбрать меню Find -> Find Handle or DLL

3) ввести имя заблокированного файла, который нужно найти. Будет показан список всех процессов, которые используют этот файл.

Если вам известны другие методы как узнать какой процесс блокирует доступ к файлу, пишите в комментариях.

Похожие записи:

Ярлыки: Windows, процесс, процесс блокирует файл Автор: Sergey Lopatin

Как узнать, какой процесс Windows использует файл

Вы когда-нибудь пытались удалить, переместить или переименовать файл только для того, чтобы получить предупреждение системы Windows с чем-то вроде одного из этих сообщений?

  • «Невозможно удалить файл: доступ запрещен»
  • «Произошло нарушение совместного использования»
  • «Исходный или целевой файл может использоваться»
  • «Файл используется другой программой или пользователем».
  • «Убедитесь, что диск не заполнен, не защищен от записи и что файл в настоящее время не используется»

Один из лучших способов обработки заблокированных файлов или папок - использовать бесплатную программу Microsoft Process Explorer .Программа была описана в другой статье, и вот как с ее помощью узнать, какая программа, DLL или дескриптор использует файл или папку. Вам нужно будет запустить его от имени администратора.

Как узнать какая программа использует файл

В Windows 7 или 8 системное сообщение может сообщить, какая программа использует файл. Если это не так или вы используете Windows XP, есть простой способ найти программу:

  1. Откройте Process Explorer от имени администратора.
  2. На панели инструментов найдите значок прицела справа (выделен на рисунке ниже).
  3. Перетащите значок на открытый файл или заблокированную папку.
  4. Исполняемый файл, использующий файл, будет выделен в основном списке отображения Process Explorer.

Как узнать, какой дескриптор или DLL использует файл

  1. Откройте Process Explorer от имени администратора.
  2. Введите сочетание клавиш Ctrl + F .Или щелкните меню «Найти» и выберите «Найти дескриптор или DLL».
  3. Откроется диалоговое окно поиска.
  4. Введите имя заблокированного файла или другого интересующего файла. Обычно достаточно частичных имен.
  5. Нажмите кнопку «Искать»,
  6. Список будет создан. Может быть несколько записей.
  7. Отдельный дескриптор в списке можно убить, выбрав его и нажав клавишу удаления. Однако при удалении дескрипторов необходимо соблюдать осторожность, поскольку могут возникнуть нестабильности.Часто просто перезагрузка освобождает заблокированный файл.

Process Explorer можно скачать здесь.

Связанная статья: Лучшее бесплатное средство для удаления файлов из удаленных файлов

Опубликуйте свой любимый совет! Знаете полезный технический совет или уловку? Тогда почему бы не опубликовать его здесь и не получить полную оценку? Щелкните здесь, чтобы сообщить нам свой совет.


Этот раздел советов поддерживает Вик Лори. Вик ведет несколько веб-сайтов с практическими рекомендациями, руководствами и учебными пособиями по Windows, в том числе сайт для изучения Windows и Интернета и еще один с советами по Windows 7.

Щелкните здесь, чтобы увидеть больше подобных вещей. Еще лучше получить технические советы, доставленные через ваш RSS-канал, или, как вариант, отправить RSS-канал по электронной почте прямо на ваш почтовый ящик.

.

Как узнать, какой процесс использует файл или папку в Windows

Вы когда-нибудь задумывались, в какой программе открыт тот или иной файл или каталог? Довольно часто при попытке удалить папку Windows сообщает следующее:

Эта ошибка также возникает с файлом, когда мы пытались переместить файл или удалить этот файл. Как мы можем узнать, какая программа или приложение в настоящее время их использует и не позволяет нам удалить / переместить их? Чтобы получить процесс, содержащий эту папку или файл, мы можем использовать эти две утилиты:

  1. Resource Monitor
  2. Process Explorer

Для Windows 7 и более поздних версий вы можете использовать встроенный Resource Monitor .

Откройте Resource Monitor, , который можно найти

  • Путем поиска resmon.exe в меню «Пуск» или
  • Как кнопку на вкладке Performance в диспетчере задач

На вкладке CPU используйте поле поиска в разделе Associated Handles

Когда вы нашли дескриптор, вы можете идентифицировать процесс, просмотрев столбец Image и / или PID. Затем вы можете закрыть приложение, если у вас есть возможность, или просто щелкните правой кнопкой мыши строку, и вы получите возможность убить процесс (Завершить процесс) прямо здесь.

Process Explorer показывает информацию о том, какие дескрипторы и процессы DLL были открыты или загружены.

  • Откройте Process Explorer (запущенный как «администратор»), запустив procxp.exe или procxp64.exe.
  • Введите сочетание клавиш Ctrl + F . Либо нажмите меню «Найти» и выберите «Найти дескриптор или DLL».

Так же, как и в мониторе ресурсов, отдельный дескриптор в списке можно отключить, выбрав его и нажав клавишу удаления (или «Закрыть дескриптор»).Однако будьте осторожны при удалении дескрипторов, поскольку это может привести к нестабильности системы. Перезагрузка системы может освободить заблокированный файл / папку.

Handle - это версия Process Explorer для командной строки.

Я предпочитаю использовать Resource Monitor в сравнении с Process Explorer, поскольку Process Explorer работает медленнее (особенно во время процесса «Обновление дескрипторов»). Если я не могу найти дескриптор в Resource Monitor, я использую Process Explorer.

.

C ++ | Windows - есть ли способ узнать, какой процесс владеет заблокированным файлом?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
.

Как определить, какой процесс Windows блокирует файл или папку - Справочный центр GSX

Последнее обновление: . Автор: Поддержка GSX (Янн) .

При попытке удалить, переместить или переименовать файл или папку вы получаете предупреждающее сообщение Windows; Операционная система отказывается завершить операцию.

Эта статья помогает определить процесс, который в настоящее время обрабатывает файл или папку, над которыми вы пытаетесь выполнить операцию обслуживания.

Sysinternals Process Explorer | Окна

Симптомы

При попытке удалить, переместить или переименовать файл вы получаете системное предупреждение Windows:

  • «Невозможно удалить файл: доступ запрещен».
  • «Произошло нарушение совместного использования».
  • «Возможно, используется исходный или целевой файл».
  • «Файл используется другой программой или пользователем».
  • «Убедитесь, что диск не заполнен, не защищен от записи и что файл в настоящее время не используется».

Как решить проблему

Один из самых простых способов работы с заблокированными файлами или папками - использовать Microsoft Sysinternals Process Explorer .

Определите, какая программа использует файл

С помощью Process Explorer найти программу очень просто:

  1. Открыть обозреватель процессов
    • Запуск от имени администратора .
  2. На панели инструментов найдите значок прицела справа.
  3. Перетащите значок и отпустите его на открытый файл или заблокированную папку.
  4. Исполняемый файл, который использует файл, будет выделен в основном списке отображения Process Explorer.

Определите, какой дескриптор или DLL использует файл

  1. Открыть обозреватель процессов
    • Запуск от имени администратора .
  2. Введите сочетание клавиш Ctrl + F .
    • Либо щелкните меню «Найти» и выберите «Найти дескриптор или DLL».
  3. Откроется диалоговое окно поиска.
  4. Введите имя заблокированного файла или другого интересующего файла.
    • Частичных имен обычно достаточно.
  5. Нажмите кнопку «Искать».
  6. Список будет создан.
    • Может быть несколько записей.

Снять блокировку файла или папки

Чтобы снять блокировку с файла, над которым вы пытаетесь выполнить операцию обслуживания, вам необходимо завершить соответствующий процесс. Отдельная программа или дескриптор в списке, предоставленном Process Explorer, могут быть уничтожены с помощью:

  1. Выбор процесса / дескриптора / записи программы.
  2. Нажатие клавиши удаления.

Будьте осторожны при удалении дескрипторов, поскольку это может привести к нестабильному поведению и нестабильности.

Загрузки

Вы можете скачать Sysinternals Process Explorer здесь.


Была ли эта статья полезной?

134 из 347 нашли этот материал полезным .

окон - Как узнать, какой процесс отправил запрос?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коровой
.Многопоточность

- как узнать, кто создает поток в java?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Смотрите также