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

Unable to delete or move or perform any action on a file because it is locked by a process? Find out which process is locking a file in Windows 11/10 using various methods discussed in this article.

Many times, when we attempt an action (delete, rename, copy, etc.) on a file, we get a File in Use dialog box showing a prompt that “The action can’t be completed because the file is open in another program“. In some cases, it will show the process or program name that is using the file. But, a lot of times, it doesn’t.

Now, how to tell which process has a file open? If it is urgent, you need to identify the process locking a file and then end the process to modify the target file. In this guide, we will be discussing different methods to check the process that is holding a file in Windows 11/10.

How to tell which process is locking a file in Windows 10

Here are the different methods to identify the process that is locking a file in Windows 11/10:

  1. Check the process that is locking a file using Resource Monitor.
  2. Use SysInternals Process Explorer to identify the process that is locking a file.
  3. Find out through Command Prompt using the Handle tool.
  4. Use OpenedFilesView freeware to identify the process holding a file.

Let’s elaborate on these methods now.

1] Check the process that is locking a file using Resource Monitor

Using Resource Monitor, you can identify the process or service locking a file. It is an inbuilt utility in Windows 10 that helps you monitor CPU usage, memory, disk network, file handles, etc.

Open Run app by pressing Windows + R hotkey and then type resmon in it. Press the OK button and Resource Monitor will open up.

In the Resource Monitor window, go to the CPU tab and expand the Associated Handles option. Now, in the search box, type the name of the file that is showing locked by a process and press Enter button. It will show you a list of processes holding the target file.

You can right-click on the process and select the End Process option to end it. After the process ends, try performing the action you wanted to on the previously locked file.

2] Use SysInternals Process Explorer to identify the process that is locking a file

Another option to identify the process or service holding a file is SysInternals Process Explorer. It is an advanced utility to find out detailed information regarding running processes on your system. To identify the process holding a file through it, you can follow below steps:

Firstly, download and run SysInternals Process Explorer on your PC. Now, in the Process Explorer window, go to the File menu and click on the Find Handle or DLL option. Next, enter the file name in the Process Explorer Search dialog window and press the Search option. All the processes that are using the file you entered will show up in the results.

Right-click on the identified process in the Process tab and then close it.

Now, check with the file if it is still held or locked by a process or not.

Related: The process cannot access the file because it is being used by another process.

3] Find out through Command Prompt using Handle tool

Handle is a command-based utility to tell which process has a file open. It is basically a command-line version of the above discussed SysInternals Process Explorer. You can follow the below steps to check the process holding a file in command prompt using this tool:

Download Handle from microsoft.com and extract the ZIP folder. Now, open CMD in the extracted folder. In the Command Prompt, enter a command with the following syntax:

handle.exe -a -u <filename-with-path>

For example:

handle.exe -a -u "C:\Users\KOMAL\Documents\Sample Files\twc.pdf"

As you enter the command, it will display a list of processes holding the file with process ID and username.

I tried to check the same by entering just the filename without the full path, it worked. But, it may not work for all files. So, it is recommended to enter the location of the locked file.

After identifying the process, you can close it from Task Manager.

4] Use OpenedFilesView freeware to identify the process holding a file

OpenedFilesView is a portable application to view all your opened files and the processes holding them. You can download its ZIP folder, extract it, and then run its OpenedFilesView.exe file to launch its interface. It will then display all currently opened files with respective details including process name, process ID, process path, file permissions, target file path, etc.

Locate your target file and check which process is holding it. Also, you can use its Find option to quickly search for a locked file and the associated process. After finding the process, right-click on the file and close all the processes holding it.

TIP: You can also use File Locksmith PowerToy.

Hope this guide helps you identify the process of holding a file and then closing it.

Now read: Delete Locked Files, and fix File Is Locked error.

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

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

Ошибка

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

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

Программа выполнить

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

Монитор ресурсов

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

Завершение процесса

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

Загрузка…

Иногда при попытке удалить, переименовать или переместить какой-то файл в Windows вы можете получить сообщение, что файл занят/заблокирован/используется) другим процессом. Чаще всего имя программы, которая держит файл открытым указывается прямо в окне сообщения File Explorer. Чтобы снять блокировку файла достаточно просто закрыть эту программу. Но бывает ситуации, когда какой-то файл и библиотека используется неизвестным или системным процессом. В этом случае снять блокировку с файла немного сложнее.

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

Сообщение о блокировке файла может выглядеть по-разному. Например в следующем примере указан тип файла и с каким приложением он ассоциирован:

File/Folder in Use. The action can’t be completed because the file is open in another program. Close the folder or file and try again.
Файл уже используется. Операция не может быть завершена, так как файл или папка открыта в другой программе. Закройте файл и повторите попытку.

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

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

Однако иногда можно увидеть более интересное сообщение, о том, что файл заблокирован неизвестным или системным процессом Windows. Это может быть, как процесс самой ОС Windows, так и другие процессе, работающий с правами System, например, антивирус, агент резервного копирования, база данных mssql и т.д.):

The action can’t be completed because the file is open in SYSTEM.
Файл уже используется. Действие не может быть выполнено, так как этот файл открыт в System.

Файл уже используется. Действие не может быть выполнено, так как этот файл открыт в System

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

Самый простой вариант разблокировать файл – завершить процесс, которые его заблокировал. Но это не всегда возможно, особенно на серверах.

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

Кроме того, это сторонняя утилита, при установке которой нужно быть внимательным, т.к. в процессе она предлагает установить пачку ненужные программы в нагрузку.

Когда процесс в Windows открывает файл, этому потоку ввода/вывода назначается файловый дескриптор (handler). Процесс и его дочерние процессы получают доступ к файлу по этому дескриптору. Через Window API вы можете послать сигнал файловой системе на освобождение данного дескриптора и снятие блокировки с файла.

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

Как разблокировать файл с помощью Process Explorer?

ProcessExplorer это бесплатная утилита из набора системных утилит Sysinternals, которую можно скачать на сайте Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer). Попробуем с помощью Process Explorer найти, какой процесс заблокировал определенный файл и освободить этот файл, сбросив файловый дескриптор процесса.

  1. ProcessExplorer не требует установки, просто скачайте распакуйте и запустите с правами администратора
    procexp.exe
    ;
  2. Выберите меню Find -> Find Handle or DLL (или нажмите
    Ctrl-F
    ); proc explorer - поиск открытых файлов
  3. Укажите имя файла, который нужно разблокировать и нажмите Search;
  4. Выберите нужный файл. Процесс, который открыл файлы будет выделен в дереве процессов. Можно завершить этот процесс, щелкнув по нему правой кнопкой и выбрав Kill Process Tree. Но можно попробовать закрыть дескриптор файла, не завершая процесс целиком. Дескриптор файла, который вы искали, автоматически выделяется в нижней панели Process Explorer. Щелкните по дескриптору правой кнопкой и выберите Close handle. Подтвердите закрытие файла. process explorer найти и завершить дескриптор процесса

    Если у вас в Process Explorer не отображается нижняя панель со списком открытых дескрипторов процесса, включите пункт меню View -> Lower Pane View -> Handles

Итак, вы закрыли дескриптор файла, не завершая родительский процесс. Теперь вы можете спокойно удалить или переименовать файл.

Сброс дескриптора файла с помощью утилиты Handle

Handle – это еще одна утилита командной строки из комплекта инструментов Sysinternals (доступна для скачивания на сайте Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/handle. Она позволяет найти процесс, который заблокировал ваш файл и снять блокировку, освободив дескриптор.

  1. Скачайте и распакуйте архив с утилитой Handle;
  2. Запустите командную строку с правами администратора и выполните команду:
    handle64.exe > listproc.txt
    утилита Handle.exe  Данная команда сохранит список открытых дескрипторов в файл. Можно вывести дескрипторы для каталога, в котором находится файл, который вы хотите изменить:
    Handle64.exe -a C:\Some\Path
    или конкретного процесса:
    handle64.exe -p winword.exe
  3. Откройте файл listproc.txt в любом текстовом редакторе и найдите строку, в которой указано имя заблокированного файла. Скопируйте ID дескриптора файла (значение в hex формате). Затем поднимитесь немного выше к разделу, в котором указан процесс, являющийся владельцем данного дескриптора и запишите его ID. Для процесса запущенного от имени системы скорее всего будет PID 4. список открытых дескрипторов файлов в windows

    Для некоторых системных процессов handle.exe вернет следующий текст:
    wininit.exe pid: 732 \<unable to open process>
    . Это означает, что вы не может получить информацию об этих системных процессах (даже с правами администратора). Для получения дескрипторов файлов, открытых такими процессами, запустите командную строку с правами System и попробуйте получить список дескрипторов еще раз.

  4. Теперь вернитесь в командную строку и сбросьте дескриптор файла по полученным HandleID и ProcessID. Формат команды следующий:
    handl64e.exe -c HandleID -p ProcessID
    Например:
    handl64e.exe -c 18C -p 18800
    handl64e - закрыть дескриптор открытого файла
  5. Утилита запросит подтвердить закрытие файла для указанного процесса. Подтвердите, нажав y -> enter

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

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

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

Это может произойти по нескольким причинам, например, файл или папка используется другим процессом или вредоносная программа изменила разрешение.

Ранее мы уже упоминали о нескольких сторонних утилитах Windows, таких как Wise Force Deleter, ForceDelete и FileAssassin, которые позволяют разблокировать процесс и удалить нужные файлы или папки с компьютера.

Теперь Microsoft добавила инструмент File Locksmith в PowerToys версии 0.64, который идентифицирует процесс и разблокирует файлы или папки, чтобы вы могли быстро их удалить.

В этой статье мы расскажем вам, как узнать, какой процесс блокирует файл или папку в Windows 11 или 10. Для этого мы будем использовать программу PowerToys.

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

Чтобы быстро определить, какой процесс блокирует файл или папку в Windows 11 или 10, выполните следующие действия.

Шаг 1. Сначала скачайте последнюю версию PowerToys и установите ее на свой компьютер.

Шаг 2. Затем запустите приложение PowerToys на компьютере с Windows.

Шаг 3. Затем выберите File Locksmith на левой боковой панели, а справа убедитесь, что тумблер Enable File Locksmith установлен в положение On.

Шаг 4. Теперь найдите файл или папку, которая заблокирована на вашем компьютере. Затем щелкните по нему правой кнопкой мыши и выберите опцию «Что использует этот файл». На компьютере с Windows 11, чтобы получить эту опцию в классическом контекстном меню, необходимо выбрать «Показать дополнительные опции».

Шаг 5. Когда появится окно File Locksmith, нажмите на стрелку вниз, чтобы развернуть его. Здесь будут отображены идентификатор процесса, текущий пользователь и количество заблокированных файлов.

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

После выполнения описанных выше действий вы сможете переместить/удалить файл или папку в Windows 11 или 10.

Вы можете скачать последнюю версию PowerToys на GitHub.

Как я могу узнать, какой процесс блокирует файл или папку в Windows? Например, при попытке удалить папку Windows сообщает следующее:

Операция не может быть завершена, так как эти папка или файл открыты в другой программе. Закройте папку или файл и повторите попытку.

Такая же ошибка может возникнуть при переименовании или удаления как папки, так и файла. Но как узнать, какая программа или приложение в настоящее время использует его и не позволяет удалить файл или папку?

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

1. Монитор ресурсов

Для поиска программы или процесса, открывшей файл, вы можете использовать Монитор ресурсов (Resource Monitor), который встроен в Windows 7, 8 и 10.

Откройте Монитор ресурсов, это можно сделать несколькими способами:

  • В поле для поиска введите «Монитор ресурсов» или resmon.exe:

  • Или в Диспетчере задач перейдите на вкладку «Производительность» и найдите кнопку «Открыть монитор ресурсов»:

В Мониторе ресурсов перейдите на вкладку ЦП (CPU). Используйте поле поиска в разделе «Связанные дескрипторы»

В результатах поиска в столбце «Образ» вы увидите, какая программа запустила процесс, блокирующий файл.

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

2. Process Explorer

Process Explorer — это официальная программа от Microsoft/SysInternals, которую можно скачать по ссылке: https://download.sysinternals.com/files/ProcessExplorer.zip

Описание программы на сайте Microsoft: https://docs.microsoft.com/ru-ru/sysinternals/downloads/process-explorer

Перейдите в FindHandle or DLL.

В текстовом поле «Handle or DLL substring:» введите путь до файла или папки. Будут показаны все процессы, которые имеют открытый обработчик на этот файл.

3. OpenedFilesView

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

Сайт программы: https://www.nirsoft.net/utils/opened_files_view.html

4. LockHunter

LockHunter — это надёжная программа для разблокировки файлов.

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

Ключевые особенности

  • Показывает процессы, блокирующие файл или папку
  • Предоставляет вам подробную информацию о процессе
  • Позволяет разблокировать, удалить, скопировать или переименовать заблокированный файл
  • Может удалить файл при следующей перезагрузке ОС
  • Позволяет убить процесс блокировки
  • Позволяет удалить процессы блокировки с жёсткого диска
  • Может выгружать DLL из процессов
  • Интегрируется в меню Проводника
  • Он удаляет файлы в корзину, поэтому вы можете восстановить их, если удалили по ошибке
  • Поддерживает как 32, так и 64 битную Windows

Сайт программы: https://lockhunter.com/

Связанные статьи:

  • Как в PowerShell узнать, какой процесс или программа блокируют файл (90.5%)
  • Диспетчер задач Windows: полное руководство (75.5%)
  • Почему svchost.exe прослушивает много портов? Как узнать, какие именно программы открыли порты (60.3%)
  • Знакомство с Process Explorer (60.3%)
  • Использование Process Explorer для устранения неполадок и диагностики (60.3%)
  • Где находятся фоны рабочего стола в Windows 10? (RANDOM — 50%)

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

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

Ошибка

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

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

Программа выполнить

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

Монитор ресурсов

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

Завершение процесса

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

Загрузка…

Unable to delete or move or perform any action on a file because it is locked by a process? Find out which process is locking a file in Windows 11/10 using various methods discussed in this article.

Many times, when we attempt an action (delete, rename, copy, etc.) on a file, we get a File in Use dialog box showing a prompt that “The action can’t be completed because the file is open in another program“. In some cases, it will show the process or program name that is using the file. But, a lot of times, it doesn’t.

Now, how to tell which process has a file open? If it is urgent, you need to identify the process locking a file and then end the process to modify the target file. In this guide, we will be discussing different methods to check the process that is holding a file in Windows 11/10.

How to tell which process is locking a file in Windows 10

Here are the different methods to identify the process that is locking a file in Windows 11/10:

  1. Check the process that is locking a file using Resource Monitor.
  2. Use SysInternals Process Explorer to identify the process that is locking a file.
  3. Find out through Command Prompt using the Handle tool.
  4. Use OpenedFilesView freeware to identify the process holding a file.

Let’s elaborate on these methods now.

1] Check the process that is locking a file using Resource Monitor

Using Resource Monitor, you can identify the process or service locking a file. It is an inbuilt utility in Windows 10 that helps you monitor CPU usage, memory, disk network, file handles, etc.

Open Run app by pressing Windows + R hotkey and then type resmon in it. Press the OK button and Resource Monitor will open up.

In the Resource Monitor window, go to the CPU tab and expand the Associated Handles option. Now, in the search box, type the name of the file that is showing locked by a process and press Enter button. It will show you a list of processes holding the target file.

You can right-click on the process and select the End Process option to end it. After the process ends, try performing the action you wanted to on the previously locked file.

2] Use SysInternals Process Explorer to identify the process that is locking a file

Another option to identify the process or service holding a file is SysInternals Process Explorer. It is an advanced utility to find out detailed information regarding running processes on your system. To identify the process holding a file through it, you can follow below steps:

Firstly, download and run SysInternals Process Explorer on your PC. Now, in the Process Explorer window, go to the File menu and click on the Find Handle or DLL option. Next, enter the file name in the Process Explorer Search dialog window and press the Search option. All the processes that are using the file you entered will show up in the results.

Right-click on the identified process in the Process tab and then close it.

Now, check with the file if it is still held or locked by a process or not.

Related: The process cannot access the file because it is being used by another process.

3] Find out through Command Prompt using Handle tool

Handle is a command-based utility to tell which process has a file open. It is basically a command-line version of the above discussed SysInternals Process Explorer. You can follow the below steps to check the process holding a file in command prompt using this tool:

Download Handle from microsoft.com and extract the ZIP folder. Now, open CMD in the extracted folder. In the Command Prompt, enter a command with the following syntax:

handle.exe -a -u <filename-with-path>

For example:

handle.exe -a -u "C:UsersKOMALDocumentsSample Filestwc.pdf"

As you enter the command, it will display a list of processes holding the file with process ID and username.

I tried to check the same by entering just the filename without the full path, it worked. But, it may not work for all files. So, it is recommended to enter the location of the locked file.

After identifying the process, you can close it from Task Manager.

4] Use OpenedFilesView freeware to identify the process holding a file

OpenedFilesView is a portable application to view all your opened files and the processes holding them. You can download its ZIP folder, extract it, and then run its OpenedFilesView.exe file to launch its interface. It will then display all currently opened files with respective details including process name, process ID, process path, file permissions, target file path, etc.

Locate your target file and check which process is holding it. Also, you can use its Find option to quickly search for a locked file and the associated process. After finding the process, right-click on the file and close all the processes holding it.

TIP: You can also use File Locksmith PowerToy.

Hope this guide helps you identify the process of holding a file and then closing it.

Now read: Delete Locked Files, and fix File Is Locked error.

Unable to delete or move or perform any action on a file because it is locked by a process? Find out which process is locking a file in Windows 11/10 using various methods discussed in this article.

Many times, when we attempt an action (delete, rename, copy, etc.) on a file, we get a File in Use dialog box showing a prompt that “The action can’t be completed because the file is open in another program“. In some cases, it will show the process or program name that is using the file. But, a lot of times, it doesn’t.

Now, how to tell which process has a file open? If it is urgent, you need to identify the process locking a file and then end the process to modify the target file. In this guide, we will be discussing different methods to check the process that is holding a file in Windows 11/10.

How to tell which process is locking a file in Windows 10

Here are the different methods to identify the process that is locking a file in Windows 11/10:

  1. Check the process that is locking a file using Resource Monitor.
  2. Use SysInternals Process Explorer to identify the process that is locking a file.
  3. Find out through Command Prompt using the Handle tool.
  4. Use OpenedFilesView freeware to identify the process holding a file.

Let’s elaborate on these methods now.

1] Check the process that is locking a file using Resource Monitor

Using Resource Monitor, you can identify the process or service locking a file. It is an inbuilt utility in Windows 10 that helps you monitor CPU usage, memory, disk network, file handles, etc.

Open Run app by pressing Windows + R hotkey and then type resmon in it. Press the OK button and Resource Monitor will open up.

In the Resource Monitor window, go to the CPU tab and expand the Associated Handles option. Now, in the search box, type the name of the file that is showing locked by a process and press Enter button. It will show you a list of processes holding the target file.

You can right-click on the process and select the End Process option to end it. After the process ends, try performing the action you wanted to on the previously locked file.

2] Use SysInternals Process Explorer to identify the process that is locking a file

Another option to identify the process or service holding a file is SysInternals Process Explorer. It is an advanced utility to find out detailed information regarding running processes on your system. To identify the process holding a file through it, you can follow below steps:

Firstly, download and run SysInternals Process Explorer on your PC. Now, in the Process Explorer window, go to the File menu and click on the Find Handle or DLL option. Next, enter the file name in the Process Explorer Search dialog window and press the Search option. All the processes that are using the file you entered will show up in the results.

Right-click on the identified process in the Process tab and then close it.

Now, check with the file if it is still held or locked by a process or not.

Related: The process cannot access the file because it is being used by another process.

3] Find out through Command Prompt using Handle tool

Handle is a command-based utility to tell which process has a file open. It is basically a command-line version of the above discussed SysInternals Process Explorer. You can follow the below steps to check the process holding a file in command prompt using this tool:

Download Handle from microsoft.com and extract the ZIP folder. Now, open CMD in the extracted folder. In the Command Prompt, enter a command with the following syntax:

handle.exe -a -u <filename-with-path>

For example:

handle.exe -a -u "C:UsersKOMALDocumentsSample Filestwc.pdf"

As you enter the command, it will display a list of processes holding the file with process ID and username.

I tried to check the same by entering just the filename without the full path, it worked. But, it may not work for all files. So, it is recommended to enter the location of the locked file.

After identifying the process, you can close it from Task Manager.

4] Use OpenedFilesView freeware to identify the process holding a file

OpenedFilesView is a portable application to view all your opened files and the processes holding them. You can download its ZIP folder, extract it, and then run its OpenedFilesView.exe file to launch its interface. It will then display all currently opened files with respective details including process name, process ID, process path, file permissions, target file path, etc.

Locate your target file and check which process is holding it. Also, you can use its Find option to quickly search for a locked file and the associated process. After finding the process, right-click on the file and close all the processes holding it.

TIP: You can also use File Locksmith PowerToy.

Hope this guide helps you identify the process of holding a file and then closing it.

Now read: Delete Locked Files, and fix File Is Locked error.

Невозможно удалить, переместить или выполнить какое-либо действие с файлом, потому что он заблокирован процессом? Узнайте, какой процесс блокирует файл в Windows 10, используя различные методы, описанные в этой статье.

Часто, когда мы пытаемся выполнить действие (удалить, переименовать, скопировать и т. Д.) С файлом, мы получаем Файл в использовании диалоговое окно с запросом «Действие не может быть завершено, потому что файл открыт в другой программе.«. В некоторых случаях будет отображаться имя процесса или программы, использующей файл. Но в большинстве случаев это не так.

Теперь, как узнать, в каком процессе открыт файл? Если это срочно, вам необходимо определить процесс, блокирующий файл, а затем завершить процесс, чтобы изменить целевой файл. В этом руководстве мы обсудим различные методы проверки процесса, в котором хранится файл в Windows 10.

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

  1. Проверьте процесс, блокирующий файл, с помощью монитора ресурсов.
  2. Используйте SysInternals Process Explorer, чтобы определить процесс, блокирующий файл.
  3. Узнайте через командную строку с помощью инструмента «Обработка».
  4. Используйте бесплатное программное обеспечение OpenedFilesView, чтобы определить процесс, в котором хранится файл.

Давайте теперь подробнее рассмотрим эти методы.

1]Проверьте процесс, блокирующий файл, с помощью монитора ресурсов.

Используя Resource Monitor, вы можете определить процесс или службу, блокирующую файл. Это встроенная утилита в Windows 10, которая помогает отслеживать использование ЦП, память, дисковую сеть, дескрипторы файлов и т. Д.

Открыть Запустить app, нажав горячую клавишу Windows + R и набрав в нем resmon. Нажмите кнопку ОК, и откроется монитор ресурсов.

В окне монитора ресурсов перейдите на вкладку ЦП и разверните параметр «Связанные дескрипторы». Теперь в поле поиска введите имя файла, который отображается заблокированным процессом, и нажмите кнопку Enter. Он покажет вам список процессов, содержащих целевой файл.

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

2]Используйте SysInternals Process Explorer, чтобы определить процесс, блокирующий файл.

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

Сначала загрузите и запустите SysInternals Process Explorer на своем ПК. Теперь в окне Process Explorer перейдите в меню File и выберите опцию Find Handle или DLL. Затем введите имя файла в поле Поиск в Process Explorer диалоговое окно и нажмите кнопку поиска. Все процессы, использующие введенный вами файл, появятся в результатах.

Щелкните правой кнопкой мыши указанный процесс на вкладке «Процесс» и закройте его.

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

Связано: процесс не может получить доступ к файлу, потому что он используется другим процессом.

3]Узнайте через командную строку с помощью инструмента «Обработка».

Handle — это командная утилита, которая сообщает, в каком процессе открыт файл. По сути, это версия для командной строки рассмотренного выше SysInternals Process Explorer. Вы можете выполнить следующие шаги, чтобы проверить процесс, содержащий файл в командной строке, с помощью этого инструмента:

Скачать дескриптор из microsoft.com и извлеките папку ZIP. Теперь откройте CMD в извлеченной папке. В командной строке введите команду со следующим синтаксисом:

handle.exe -a -u <имя-файла-с-путем>

Например:

handle.exe -a -u «C: Users KOMAL Documents Sample Files twc.pdf»

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

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

После определения процесса вы можете закрыть его из диспетчера задач.

4]Используйте бесплатное программное обеспечение OpenedFilesView, чтобы определить процесс, в котором хранится файл.

OpenedFilesView — портативное приложение для просмотра всех ваших открытых файлов и процессов, в которых они хранятся. Вы можете загрузить его ZIP-архив, извлечь его, а затем запустить его файл OpenedFilesView.exe, чтобы запустить его интерфейс. Затем он отобразит все открытые в данный момент файлы с соответствующими данными, включая имя процесса, идентификатор процесса, путь к процессу, права доступа к файлу, путь к целевому файлу и т. Д.

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

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

.

Если вы пытаетесь изменить/удалить какой-либо конкретный файл на своем компьютере, но появляется сообщение об ошибке «Действие не может быть выполнено, так как папка открыта в другой программе», вы не можете удалить/изменить файл, не остановив другая программа, которая его использует. Некоторые пользователи Windows 10 или Windows 11 следят за процессами, описанными в этой статье, чтобы узнать, какой процесс «блокирует» файл на вашем компьютере, остановите процесс, и вы сможете снова изменить/удалить файл на своем компьютере.

РЕКЛАМА

Избранное

Пример-

В конце концов, мы попытались удалить «Adobe» из Температура папку, и он вернул сообщение об ошибке, в котором говорилось: «Действие не может быть выполнено, поскольку файл открыт в Adobe Genuine Software Integrity Service».

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

Способ 1. Используйте Resource Monitor для обнаружения и завершения процесса.

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

1. Нажмите клавишу Windows + R, чтобы запустить Бегать окно на вашем компьютере. в Бегать введите «resmon» и нажмите Enter.

Монитор ресурсов окно откроется на вашем компьютере.

2. В Монитор ресурсов окно, перейдите на вкладку «CPU».

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

4. Вы увидите связанные дескрипторы файла в Связанные ручки вкладка Щелкните правой кнопкой мыши в процессе, который блокирует файл, а затем нажмите «Завершить процесс», чтобы завершить процесс на вашем компьютере.

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

Метод-2 Используйте Process Explorer-

Обозреватель процессов это инструмент из Майкрософт что очень полезно для обнаружения любого связанного процесса, содержащего какую-либо конкретную службу на вашем компьютере.

1. Скачать Обозреватель процессов на твоем компьютере.

2. После загрузки zip-файла перейдите в загруженное место. Извлеките загруженный zip-файл «ProcessExplorer» в любое место по вашему выбору.

3. Теперь перейдите на сайт извлечения на вашем компьютере. Дважды щелкните «procexp64», чтобы запустить его на своем компьютере (в случае, если вы используете 32-битный Windows 10, вы должны запустить «procexp» на твоем компьютере).

4. В Обозреватель процессов нажмите «Найти» в строке меню, а затем нажмите «Найти дескриптор или DLL…» на вашем компьютере.

Подождите некоторое время, пока Обозреватель процессов найдет процессы, связанные с введенной вами строкой.

5. В Обозреватель процессов Поиск введите строку поиска рядом с ‘Подстрока дескриптора или DLL:‘, а затем нажмите «Поиск» рядом с полем поиска.

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

Следующий процесс будет выделен в Обозреватель процессов окно.

7. В Обозреватель процессов окно, щелкните правой кнопкой мыши в выделенном процессе, а затем нажмите «Закрыть дескриптор», чтобы закрыть процесс на вашем компьютере.

После завершения процесса закройте Обозреватель процессов окно на вашем компьютере.

Вот и все! Теперь вы можете легко изменить/удалить файл на своем компьютере. Ваша проблема должна быть решена.

Иногда при попытке удалить, переименовать или переместить какой-то файл в Windows вы можете получить сообщение, что файл занят/заблокирован/используется) другим процессом. Чаще всего имя программы, которая держит файл открытым указывается прямо в окне сообщения File Explorer. Чтобы снять блокировку файла достаточно просто закрыть эту программу. Но бывает ситуации, когда какой-то файл и библиотека используется неизвестным или системным процессом. В этом случае снять блокировку с файла немного сложнее.

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

Сообщение о блокировке файла может выглядеть по-разному. Например в следующем примере указан тип файла и с каким приложением он ассоциирован:

File/Folder in Use. The action can’t be completed because the file is open in another program. Close the folder or file and try again.
Файл уже используется. Операция не может быть завершена, так как файл или папка открыта в другой программе. Закройте файл и повторите попытку.

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

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

Однако иногда можно увидеть более интересное сообщение, о том, что файл заблокирован неизвестным или системным процессом Windows. Это может быть, как процесс самой ОС Windows, так и другие процессе, работающий с правами System, например, антивирус, агент резервного копирования, база данных mssql и т.д.):

The action can’t be completed because the file is open in SYSTEM.
Файл уже используется. Действие не может быть выполнено, так как этот файл открыт в System.

Файл уже используется. Действие не может быть выполнено, так как этот файл открыт в System

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

Самый простой вариант разблокировать файл – завершить процесс, которые его заблокировал. Но это не всегда возможно, особенно на серверах.

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

Кроме того, это сторонняя утилита, при установке которой нужно быть внимательным, т.к. в процессе она предлагает установить пачку ненужные программы в нагрузку.

Когда процесс в Windows открывает файл, этому потоку ввода/вывода назначается файловый дескриптор (handler). Процесс и его дочерние процессы получают доступ к файлу по этому дескриптору. Через Window API вы можете послать сигнал файловой системе на освобождение данного дескриптора и снятие блокировки с файла.

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

Как разблокировать файл с помощью Process Explorer?

ProcessExplorer это бесплатная утилита из набора системных утилит Sysinternals, которую можно скачать на сайте Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer). Попробуем с помощью Process Explorer найти, какой процесс заблокировал определенный файл и освободить этот файл, сбросив файловый дескриптор процесса.

  1. ProcessExplorer не требует установки, просто скачайте распакуйте и запустите с правами администратора
    procexp.exe
    ;
  2. Выберите меню Find -> Find Handle or DLL (или нажмите
    Ctrl-F
    ); proc explorer - поиск открытых файлов
  3. Укажите имя файла, который нужно разблокировать и нажмите Search;
  4. Выберите нужный файл. Процесс, который открыл файлы будет выделен в дереве процессов. Можно завершить этот процесс, щелкнув по нему правой кнопкой и выбрав Kill Process Tree. Но можно попробовать закрыть дескриптор файла, не завершая процесс целиком. Дескриптор файла, который вы искали, автоматически выделяется в нижней панели Process Explorer. Щелкните по дескриптору правой кнопкой и выберите Close handle. Подтвердите закрытие файла. process explorer найти и завершить дескриптор процесса

    Если у вас в Process Explorer не отображается нижняя панель со списком открытых дескрипторов процесса, включите пункт меню View -> Lower Pane View -> Handles

Итак, вы закрыли дескриптор файла, не завершая родительский процесс. Теперь вы можете спокойно удалить или переименовать файл.

Сброс дескриптора файла с помощью утилиты Handle

Handle – это еще одна утилита командной строки из комплекта инструментов Sysinternals (доступна для скачивания на сайте Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/handle. Она позволяет найти процесс, который заблокировал ваш файл и снять блокировку, освободив дескриптор.

  1. Скачайте и распакуйте архив с утилитой Handle;
  2. Запустите командную строку с правами администратора и выполните команду:
    handle64.exe > listproc.txt
    утилита Handle.exe  Данная команда сохранит список открытых дескрипторов в файл. Можно вывести дескрипторы для каталога, в котором находится файл, который вы хотите изменить:
    Handle64.exe -a C:SomePath
    или конкретного процесса:
    handle64.exe -p winword.exe
  3. Откройте файл listproc.txt в любом текстовом редакторе и найдите строку, в которой указано имя заблокированного файла. Скопируйте ID дескриптора файла (значение в hex формате). Затем поднимитесь немного выше к разделу, в котором указан процесс, являющийся владельцем данного дескриптора и запишите его ID. Для процесса запущенного от имени системы скорее всего будет PID 4. список открытых дескрипторов файлов в windows

    Для некоторых системных процессов handle.exe вернет следующий текст:
    wininit.exe pid: 732 <unable to open process>
    . Это означает, что вы не может получить информацию об этих системных процессах (даже с правами администратора). Для получения дескрипторов файлов, открытых такими процессами, запустите командную строку с правами System и попробуйте получить список дескрипторов еще раз.

  4. Теперь вернитесь в командную строку и сбросьте дескриптор файла по полученным HandleID и ProcessID. Формат команды следующий:
    handl64e.exe -c HandleID -p ProcessID
    Например:
    handl64e.exe -c 18C -p 18800
    handl64e - закрыть дескриптор открытого файла
  5. Утилита запросит подтвердить закрытие файла для указанного процесса. Подтвердите, нажав y -> enter

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

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