Файл занят другим процессом: как снять блокировку и решить ошибку доступа в Python

0
113

Содержание

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

  1. Проверьте, не открыт ли файл в другой программе (например, в текстовом редакторе, медиаплеере или проводнике).
  2. Закройте все подозрительные программы и повторите попытку.
  3. Перезагрузите компьютер, чтобы сбросить все блокировки.
  4. Используйте диспетчер задач для завершения процессов, которые могут использовать файл.
  5. Скачайте и установите Microsoft PowerToys, включите модуль File Locksmith.
  6. С помощью File Locksmith найдите процесс, блокирующий файл, и завершите его.
  7. Если File Locksmith не помог, используйте Process Explorer (поиск по Ctrl+F).
  8. Для продвинутого сброса дескриптора используйте утилиту Handle от Sysinternals.
  9. Для файлов в сетевой папке попросите администратора закрыть сеанс пользователя.
  10. Проверьте права доступа к файлу и папке (свойства → безопасность).
  11. Отключите временно антивирус или облачную синхронизацию для проверки.
  12. Если ничего не помогает, загрузитесь в безопасном режиме и удалите/переместите файл.

Файл занят другим процессом, заблокирован другим процессом или открыт в другой программе — простое решение

Файл занят другим процессом или открыт в другой программе - простое решение remo - изображение номер один
Файл занят другим процессом или открыт в другой программе — простое решение remo — изображение номер один

Процесс не может получить доступ к файлу - как исправить - изображение номер два
Процесс не может получить доступ к файлу — как исправить — изображение номер два

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

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

File Locksmith — новая функция Microsoft PowerToys для разблокировки файлов

Five - изображение номер три
Five — изображение номер три

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

Power - изображение номер четыре
Power — изображение номер четыре

  1. Установите Microsoft PowerToys, если ещё не установили. Проще всего это сделать из магазина приложений Microsoft Store используя поиск в магазине или ссылку, также есть другие способы загрузки:
  2. После первого запуска приложения может потребоваться перезапуск PowerToys от имени администратора в главном окне приложения (в моем тесте функция File Locksmith не появилась в меню до выполнения перезапуска на одном из устройств).
  3. В параметрах Microsoft PowerToys убедитесь, что функция File Locksmith включена.
  4. Нажмите правой кнопкой мыши по файлу, который занят другим процессом и выберите пункт меню «Какие процессы используют этот файл?». В Windows 11 потребуется предварительно открыть классическое контекстное меню, нажав «Показать дополнительные параметры».
  5. Откроется окно со списком процессов, использующих этот файл. Если процесс не отображается, выполните перезапуск окна с правами администратора, нажав по значку справа вверху.
  6. Раскрыв свойства процесса, вы можете узнать его идентификатор (например, для завершения вручную), а также от имени какого пользователя он запущен.
  7. Действие по проверке использующих элемент процессов можно применять и к папке, в таком случае будет отображаться список всех процессов, использующих её содержимое, а раскрыв сведения можно получить информацию о том, какие именно файлы использует этот процесс.
  8. И, самое главное, прямо в окне File Locksmith можно завершить процесс. Однако будьте осторожны при завершении системных процессов Windows.

Надеюсь, новый инструмент будет полезен. Конечно, есть и другие возможности, например, многие используют Unlocker, но вариант с File Locksmith куда более безопасен для пользователя, на мой взгляд.

Из установочного файла

Процесс не может получить доступ к файлу - причины и решения remontka - изображение номер пять
Процесс не может получить доступ к файлу — причины и решения remontka — изображение номер пять

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

python - изображение номер шесть
python — изображение номер шесть

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

Через магазин приложений в Windows 11

Файл занят другим процессом, заблокирован другим процессом или открыт в другой п - изображение номер семь
Файл занят другим процессом, заблокирован другим процессом или открыт в другой п — изображение номер семь

Чтобы установить PowerToys через магазин приложений, проделайте следующее:

1. Введите в строке поиска на панели задач Store и откройте магазин, выбрав его среди результатов.

Конфигурация PowerToys

Файл уже используется - изображение номер восемь
Файл уже используется — изображение номер восемь

После установки запустите программу и проверьте статус функции Locksmith в параметрах.

iis - изображение номер девять
iis — изображение номер девять

Также нажмите Перезапуск PowerToys от имени администратора, если утилита попросит об этом уведомлением.

Отслеживание процессов, использующих файл

Работа с файлами в - изображение номер десять
Работа с файлами в — изображение номер десять

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

1. Нажмите на файл или папку правой кнопкой мышки и в открывшемся контекстном меню выберите пункт Какие процессы используют этот файл?

Помогите с проблемой - изображение номер одиннадцать
Помогите с проблемой — изображение номер одиннадцать

2. Появится окно File Locksmtih, в котором отобразится список процессов. Нажмите на иконку с изображением щита в правом верхнем углу, чтобы перезапустить утилиту с правами администратора. Это позволит получить полный спектр разрешений и получить доступ ко всем процессам.

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

ЧИТАТЬ ТАКЖЕ:  Проверка числа на полный квадрат в Python: методы и решения

Дальнейшие действия

zip - изображение номер двенадцать
zip — изображение номер двенадцать

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

Что означает- файл занят другой программой и что делать?

Файл занят другим процессом или открыт в другой программе - разблокировка в - изображение номер тринадцать
Файл занят другим процессом или открыт в другой программе — разблокировка в — изображение номер тринадцать

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

«Файл занят» означает, что у вас на компьютере в данный момент выполняется программа, которая как-то использует этот файл. Причём она может работать в фоновом режиме, так, что её не видно даже и по Alt+Tab. Вот с торрент-трекерами такое сплошь и рядом: если μ-torrent (думаю, все знают, что это за программа) не просто свернуть, а закрыть, нажав на крестик или по Alt+F4, то из списка открытых программ, который отображается на Панели задач, она натурально исчезнет, как и не было её, но в реальности она продолжает выполняться — загрузка затребованных торрентов, как и раздача сидов (то есть раздача ваших собственных файлов), продолжается. То есть клиент продолжает удерживать файлы открытыми, соответственно их нельзя удалить, переименовать или переместить в другую папку.

Правда, их можно открыть видеоплеером — но это особенность именно μ-торрента. Какие-то другие программы со сходным стилем поведения могут не разрешать открывать файлы даже и в режиме «только для чтения».

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

Почему файловые объекты могут использоваться одновременно?

Работа с файлами - изображение номер четырнадцать
Работа с файлами — изображение номер четырнадцать

Давайте начнем с самого элементарного и посмотрим на саму операционную систему. Почему пишет «Файл занят другой программой»? Пользователь ведь точно уверен, что он выбранный для открытия или просмотра объект одновременно в нескольких приложениях не использует.

Файлы - изображение номер пятнадцать
Файлы — изображение номер пятнадцать

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

Простейшие примеры одновременного доступа к файлам

PPT - изображение номер шестнадцать
PPT — изображение номер шестнадцать

Open a - изображение номер семнадцать
Open a — изображение номер семнадцать

Файл занят другой программой: что делать в первую очередь?

Процесс не может получить доступ к файлу - изображение номер восемнадцать
Процесс не может получить доступ к файлу — изображение номер восемнадцать

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

How to - изображение номер девятнадцать
How to — изображение номер девятнадцать

В случае с пользовательскими данными ничего страшного в перезагрузке не будет. Как перезагрузить компьютер? Элементарно! Даже принудительный рестарт не потребуется. Просто выполните стандартную перезагрузку через меню «Пуск» или через «Диспетчер задач» (можно даже без завершения активных процессов).

Файл занят другой программой (Windows 10): как завершить блокирующие процессы?

Как скрыть процесс в - изображение номер двадцать
Как скрыть процесс в — изображение номер двадцать

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

Как удалить заблокированный файл - wiki - изображение номер двадцать один
Как удалить заблокированный файл — wiki — изображение номер двадцать один

Если же пользователь и понятия не имеет, какими именно приложениями занят файл, лучше воспользоваться утилитой Process Explorer, разработанной корпорацией Microsoft (скачать ее можно прямо на официальном ресурсе компании).

Что делать, если файлы не удаляются?

Файл открыт в - изображение номер двадцать два
Файл открыт в — изображение номер двадцать два

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

Файл занят другим процессом: как разблокировать и удалить (просто и быстро) - изображение номер двадцать три
Файл занят другим процессом: как разблокировать и удалить (просто и быстро) — изображение номер двадцать три

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

Права доступа

Права доступа к файлам и каталогам в - изображение номер двадцать четыре
Права доступа к файлам и каталогам в — изображение номер двадцать четыре

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

Права доступа к - изображение номер двадцать пять
Права доступа к — изображение номер двадцать пять

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

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

Установка и настройка PowerToys

Dumpstack log - изображение номер двадцать шесть
Dumpstack log — изображение номер двадцать шесть

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

ЧИТАТЬ ТАКЖЕ:  Удаление папки со всем содержимым в Python: модули os, shutil и pathlib

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

Install - изображение номер двадцать семь
Install — изображение номер двадцать семь

В Windows есть несколько встроенных инструментов, который позволяют определить имя процесса/приложения, которое использует файл в текущий момент.

Для определения файлов, которые открыты процессами, можно использовать Resource Monitor ()

  1. Запустите и перейдите на вкладку CPU
  2. В поисковой строке в разделе Associated Handles укажите имя заблокированного файла или папки
  3. В окне с результатами поиска появится имя процесса, который использует файл в данный момент.
  4. Вы можете сразу закрыть этот процесс щелкнув по нему и выбрав End Process.

Пакетная разблокировка полученных из интернета файлов в - изображение номер двадцать восемь
Пакетная разблокировка полученных из интернета файлов в — изображение номер двадцать восемь

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

Папка уже используется - изображение номер двадцать девять
Папка уже используется — изображение номер двадцать девять

Не всегда возможно просто завершить процесс, которые заблокировал файл, особенно на серверах. Для поиска процесса, который заблокировал файл и освобождения этого файла без завершения родительского процесса удобно использовать утилиту ProcessExplorer. ProcessExplorer можно скачать с сайта Microsoft или установить с помощью пакетного менеджера WinGet: Winget install

Файл занят другим процессом - изображение номер тридцать
Файл занят другим процессом — изображение номер тридцать

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

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

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

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

Permission - изображение номер тридцать один
Permission — изображение номер тридцать один

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

  1. Скачайте или установите утилиту Handle через Winget: winget install
  2. Запустите командную строку с правами администратора и выполните команду: >
  3. Данная команда сохранит список открытых дескрипторов в файл.
  4. Можно вывести список дескрипторов файлов в определённом каталоге (параметр -u используется, чтобы показать имя пользователя, запустившего процесс): -u -a C:\Some\Path Или выведите открытые дескрипторы конкретного процесса (какие файлы и другие объекты держит в открытом состоянии данный процесс): -p
  5. Откройте файл в любом текстовом редакторе и найдите строку, в которой указано имя заблокированного файла. Скопируйте ID дескриптора файла (значение в hex формате). Затем поднимитесь немного выше к разделу, в котором указан процесс, являющийся владельцем данного дескриптора и запишите его ID. Для процесса, запущенного от имени системы скорее всего будет PID 4. Для некоторых системных процессов вернет следующий текст: pid: 732 \<unable to open process>. Это означает, что вы не может получить информацию об этих системных процессах (даже с правами администратора). Для получения дескрипторов файлов, открытых такими процессами, запустите командную строку с правами System и попробуйте получить список дескрипторов еще раз.
  6. Теперь вернитесь в командную строку и сбросьте дескриптор файла по полученным HandleID и ProcessID. Формат команды следующий: -c HandleID -p ProcessID Например: -c 18C -p 18800
  7. Утилита запросит подтвердить закрытие файла для указанного процесса. Подтвердите, нажав y -> enter

question - изображение номер тридцать два
question — изображение номер тридцать два

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

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

Для автоматизации поиска процесса, занявшего файл можно использовать такой PowerShell скрипт:

$file = «C:\PS\out_file.txt» $handleOutput = $file $pidList = @() $handleOutput | ForEach-Object { if ($_ -match «^(.*)\s+pid:\s*(\d+)») { $name = $matches[1].Trim() $processId = $matches[2] if ($pidList -notcontains $processId) { Write-Host «ParentProcess PID $processId $name» $pidList += $processId } } }

Заблокированные файлы в сетевой папке

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

как убрать винлокер?РЕШЕНИЕ! - изображение номер тридцать три
как убрать винлокер?РЕШЕНИЕ! — изображение номер тридцать три

Часто задаваемые вопросы об ошибке «Файл занят другим процессом»

Вопрос: Что делать, если файл занят другим процессом, но я не вижу, каким именно?
Ответ: Используйте утилиты Process Explorer, Handle или встроенную в PowerToys функцию File Locksmith для точного определения блокирующего процесса.

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

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

Вопрос: Как разблокировать файл в сетевой папке?
Ответ: Попросите пользователя, открывшего файл, закрыть его, или используйте команду «Открыть файловый ресурс» на сервере, чтобы принудительно закрыть сеанс.

Вопрос: Что такое File Locksmith и как он работает?
Ответ: File Locksmith — это утилита из набора Microsoft PowerToys, которая показывает, какие процессы используют выбранный файл, и позволяет завершить их.

Вопрос: Можно ли разблокировать файл без сторонних программ?
Ответ: Да, можно попробовать переименовать или переместить файл, перезагрузить компьютер, или завершить подозрительные процессы в диспетчере задач.

Вопрос: Как использовать Process Explorer для разблокировки файла?
Ответ: Запустите Process Explorer от имени администратора, нажмите Ctrl+F, введите имя файла, найдите процесс в результатах и закройте его дескриптор (Ctrl+K).

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

Вопрос: Как установить PowerToys для разблокировки файлов?
Ответ: Скачайте установщик с официального сайта Microsoft или установите через Microsoft Store. После установки включите модуль File Locksmith в настройках.

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