Процесс не может получить доступ к файлу так как этот файл занят другим процессом python

Обновлено: 03.07.2024

↑ Процесс не может получить доступ к файлу

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

↑ Как же всё-таки удалить файл в ситуации, когда у процесса не получается обрести доступ?

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

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

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

1. Unlocker — программа, которая помогает как раз в таких случаях. Она сама находит процессы, которые заняты этим файлом и завершает их. Это можно сделать и без утилиты, только придётся искать в ручную и завершать, а утилита это делает автоматически. Скачав и установив программу, нужно всего лишь нажать ПКМ на файл и выбрать «Unlock»


2. Завершить вручную. Открываем диспетчер задач и разворачиваем список "Подробнее". Из всего большого списка, нужно выбрать только те, которые были запущены Вами. Например, для удаления файла с кэшем браузера, нужно закрыть все задачи браузера. Для этого кликаем правой кнопкой мыши и нажимаем "Завершить задачу".


3. Схитрить с установкой атрибутов. Нажать ПКМ на файл и зайти в свойства. Тут же на вкладке "Общие" поставить галочку напротив поля "Только чтение". Далее перезагрузить компьютер и возможность удаления может появиться.


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


5. Снять защиту на запись. Защита может быть включена как программно, так и механически. Чаще всего это касается SD-карт. На них есть специальный тумблер, который блокирует запись. Программно это выключается через редактор реестра. Для этого нажимаем на Пуск правой кнопкой мыши, выбираем "Выполнить", вводим команду regedit и нажимаем "Ok". Далее нужно найти параметр WriteProtect и установить ему значение 0.


↑ Что делать, когда такая же проблема настигла в консоли или IIS?

Часто такая же проблема, когда процесс не может получить доступ, может выскочить при выполнении команды netsh в командной строке или при настройке сайта IIS. Тут может быть несколько причин:

1. Неправильная настройка реестра.

2. Попытка подключения к портам 80 и 443, когда они заняты.

3. Не хватает прав для выполнения действия.


А решить проблему можно так:

1. Запустить cmd от имени администратора. Сделать это можно в меню Пуск с помощью правой кнопки мыши.

2. Поменять пул IP-адресов. Выполнить команду netsh int ipv4 set dynamicport tcp start=10000 num=1000. Затем такую netsh int ipv4 set dynamicport udp start=10000 num=1000.

3. Удалить конфликт портов. От имени администратора запустить командную строку, прописать netstat -ano и посмотреть не заняты ли порты 80 и 443. Если порты свободны, то идём в реестр по пути:


Причины ошибки

  1. Отсутствуют права администратора для запуска команды из консоли командной строки или PowerShell.
  2. Порт 80 или 443 используется другим процессом, что типично для компьютеров под управлением IIS (Internet Information Services).
  3. Неправильно настроен раздел реестра ListenOnlyList в оснастке IIS.

Запуск команды с доступом администратора

Если не удается выполнить команду netsh, скорее всего, ошибка возникает из-за отсутствия прав администратора. В большинстве случаев это происходит, когда пользователь пытается запустить команду, которая добавляет исключения в динамический диапазон портов для собственных приложений Windows или сторонних программ. Имейте в виду, что эта операция требует доступа администратора. Чтобы предоставить его, выполните следующие шаги.

С помощью системного поиска найдите командную строку и запустите ее с правами администратора. Если отобразится запрос контроля учетных записей (UAC), подтвердите его нажатием на кнопку «Да».


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

Установка другого диапазона IP-адресов

Если не удалось решить конфликт DNS с помощью утилиты netsh, попробуйте использовать другой подход. По отзывам пользователей, проблема была разрешена после того, когда они установили совершенно другой диапазон IP-адресов вместо создания диапазона исключений. Этот способ подтвержден при разрешении конфликта между DNS и бухгалтерской программой Quickbooks.

В консоли командной строки с администраторскими правами запустите следующие команды:

  • netsh int ipv4 set dynamicport tcp start=10000 num=1000
  • netsh int ipv4 set dynamicport udp start=10000 num=1000

Если этот метод не применим к вашей ситуации, перейдите к следующему способу.

Разрешения конфликта портов IIS

  1. Параметр ListenOnlyList неправильно настроен на компьютере IIS.
  2. Другой процесс использует TCP-порт (80) или SSL-порт (443), требуемый IIS.

Для исправления ошибки сначала запустим утилиту Netstat.exe, чтобы определить, использует ли другой процесс указанные порты. Если они не заняты другим процессом, проверим раздел ListenOnlyList, правильно ли он настроен.

Откройте командную строку, предоставив ей доступ администратора, с помощью поисковой системы Windows. Для запуска утилиты Netstat.exe выполните команду:

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

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

Если порты не используются, закройте командную строку и запустите Редактор реестра командой regedit из окна Win + R.


На левой панели навигации перейдите в следующее расположение:

Если по указанному пути ListenOnlyList отсутствует, не нужно его создавать, поскольку по умолчанию используется IP-адрес 0.0.0.0.

Снова откройте командную строку с правами администратора.

Чтобы продолжить операцию, введите «Y» и нажмите на Enter. После успешного завершения закройте консоль и вернитесь в редактора реестра.

Перейдите на правую панель раздела ListenOnlyList и убедитесь, что он содержит допустимые IP-адреса. При обнаружении недопустимых адресов, удалите их.

Если присутствует адрес 0.0.0.0, нужно удалить все остальные IP-адреса. После закройте редактор и перезагрузите ПК.

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

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

Как удалить файл, если процесс не может получить доступ к файлу?

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

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

Как можно решить проблему «процесс не может получить доступ к файлу»:

  • Unlocker – специальная программа, созданная как раз для подобных ситуаций. Она автоматически обнаруживает связанные с файлом процессы и завершает их. По сути она делает то же самое, что нужно выполнять вручную, но только в автоматическом режиме. Она имеет минимальный размер и проверена во многих системах, поэтому точно не заражена вирусами. После скачивания и установки, нужно нажать правой кнопкой мыши по файлу и выбрать «Unlock».
  • Завершить связанные процессы. Обычно вполне реально догадаться, какая именно задача использует файл. Для этого нужно открыть Ctrl + Shift + Esc и развернуть список «Подробнее». Здесь будет довольно много процессов, но большинство из них системные, нужно найти те, которые были запущены пользователем. Чтобы удалить файл кэша Google Chrome, нужно закрыть все задачи Google. Для их завершения нужно нажать правой кнопкой мыши и выбрать «Снять задачу».

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

  • Установить правильные атрибуты. К каждому файлу можно установить подходящие привилегии. Нужно нажать правой кнопкой мыши по файлу и на вкладке «Общие» установить пункт «Только чтение». После перезагрузки компьютера возможность удаления может появиться.
  • Удаление в безопасном режиме. Очень часто это срабатывает, так как при данном способе запуска система не загружает все посторонние программы. Нужно кликнуть на перезапуск ПК и в момент пуска нажать клавишу F8 (может быть другая) для выбора варианта запуска. В безопасном режиме удалить можно практически любой файл.
  • Снять защиту диска на запись. Она может быть установлена на программном и физическом уровне. Первым делом нужно посмотреть на накопителе (обычно это флешка), нет ли здесь специального тумблера. Рядом должна быть соответствующая пометка. В системе в редакторе реестра также следует найти параметр WriteProtect и установить ему значение 0.

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

Точно такая же самая ошибка «процесс не может получить доступ к файлу» может появиться при запуске команды netsh или при выполнении настройки сайта IIS. В таком случае проблема может быть вызвана недостатком прав для выполнения действия, попытке подключения к занятым портам 80 и 443 или некорректной настройкой реестра.

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

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

Как удалить файл, если процесс не может получить доступ к файлу?

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

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

Как можно решить проблему «процесс не может получить доступ к файлу»:

  • Unlocker – специальная программа, созданная как раз для подобных ситуаций. Она автоматически обнаруживает связанные с файлом процессы и завершает их. По сути она делает то же самое, что нужно выполнять вручную, но только в автоматическом режиме. Она имеет минимальный размер и проверена во многих системах, поэтому точно не заражена вирусами. После скачивания и установки, нужно нажать правой кнопкой мыши по файлу и выбрать «Unlock».
  • Завершить связанные процессы. Обычно вполне реально догадаться, какая именно задача использует файл. Для этого нужно открыть Ctrl + Shift + Esc и развернуть список «Подробнее». Здесь будет довольно много процессов, но большинство из них системные, нужно найти те, которые были запущены пользователем. Чтобы удалить файл кэша Google Chrome, нужно закрыть все задачи Google. Для их завершения нужно нажать правой кнопкой мыши и выбрать «Снять задачу».

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

  • Установить правильные атрибуты. К каждому файлу можно установить подходящие привилегии. Нужно нажать правой кнопкой мыши по файлу и на вкладке «Общие» установить пункт «Только чтение». После перезагрузки компьютера возможность удаления может появиться.
  • Удаление в безопасном режиме. Очень часто это срабатывает, так как при данном способе запуска система не загружает все посторонние программы. Нужно кликнуть на перезапуск ПК и в момент пуска нажать клавишу F8 (может быть другая) для выбора варианта запуска. В безопасном режиме удалить можно практически любой файл.
  • Снять защиту диска на запись. Она может быть установлена на программном и физическом уровне. Первым делом нужно посмотреть на накопителе (обычно это флешка), нет ли здесь специального тумблера. Рядом должна быть соответствующая пометка. В системе в редакторе реестра также следует найти параметр WriteProtect и установить ему значение 0.

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

Точно такая же самая ошибка «процесс не может получить доступ к файлу» может появиться при запуске команды netsh или при выполнении настройки сайта IIS. В таком случае проблема может быть вызвана недостатком прав для выполнения действия, попытке подключения к занятым портам 80 и 443 или некорректной настройкой реестра.

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

Читайте также: