Почему процесс не может получить доступ к файлу и что делать?
Чтобы удалить или изменить файл, он обязательно должен быть свободен от других процессов. Если его уже использует какая-то программа, система накладывает запрет на редактирование элемента, так как это повредит работу программного обеспечения. В этом случае появляется сообщение «Процесс не может получить доступ к файлу, так как этот файл занят другим процессом». Чтобы это исправить, нужно освободить его. Только вот сделать подобное куда сложнее, чем кажется на первый взгляд.
Почему «Процесс не может получить доступ к файлу»?
Одновременно работать с конкретным файлом может только одна программа. Речь идет не о библиотеках общего использования, которые используются только для извлечения данных, а об элементах, предназначенных для перезаписи. Если это кэш-файл игры, здесь содержится пользовательская информация или происходит постоянная обработка данных, и Windows накладывает ограничение. Данные файлы становятся недоступными для удаления или ручного изменения до тех пор, пока мы не завершим процесс, использующий их.
Как удалить файл, если процесс не может получить доступ к файлу?
Следуя по логической цепочке, для удаления любого файла, нужно сначала выгрузить его с оперативной памяти и со всех программ. Как только он перестанет использоваться системой в каких-то процессах, элемент сразу станет доступным для удаления.
Главная сложность данного вопроса в том, чтобы найти процесс, использующий конкретный файл. Это не всегда очевидно. Часто бывает, что изображение использует какая-то игра, браузер, торрент, медиапроигрыватель. Если в первую очередь подумать на программу просмотра картинок, вы ошибетесь. Нужно смотреть куда глубже.
Как можно решить проблему «процесс не может получить доступ к файлу»:
- Unlocker – специальная программа, созданная как раз для подобных ситуаций. Она автоматически обнаруживает связанные с файлом процессы и завершает их. По сути она делает то же самое, что нужно выполнять вручную, но только в автоматическом режиме. Она имеет минимальный размер и проверена во многих системах, поэтому точно не заражена вирусами. После скачивания и установки, нужно нажать правой кнопкой мыши по файлу и выбрать «Unlock».
- Завершить связанные процессы. Обычно вполне реально догадаться, какая именно задача использует файл. Для этого нужно открыть Ctrl + Shift + Esc и развернуть список «Подробнее». Здесь будет довольно много процессов, но большинство из них системные, нужно найти те, которые были запущены пользователем. Чтобы удалить файл кэша Google Chrome, нужно закрыть все задачи Google. Для их завершения нужно нажать правой кнопкой мыши и выбрать «Снять задачу».
- Установить правильные атрибуты. К каждому файлу можно установить подходящие привилегии. Нужно нажать правой кнопкой мыши по файлу и на вкладке «Общие» установить пункт «Только чтение». После перезагрузки компьютера возможность удаления может появиться.
- Удаление в безопасном режиме. Очень часто это срабатывает, так как при данном способе запуска система не загружает все посторонние программы. Нужно кликнуть на перезапуск ПК и в момент пуска нажать клавишу F8 (может быть другая) для выбора варианта запуска. В безопасном режиме удалить можно практически любой файл.
- Снять защиту диска на запись. Она может быть установлена на программном и физическом уровне. Первым делом нужно посмотреть на накопителе (обычно это флешка), нет ли здесь специального тумблера. Рядом должна быть соответствующая пометка. В системе в редакторе реестра также следует найти параметр WriteProtect и установить ему значение 0.
Как исправить проблему при использовании консоли и IIS?
Точно такая же самая ошибка «процесс не может получить доступ к файлу» может появиться при запуске команды netsh или при выполнении настройки сайта IIS. В таком случае проблема может быть вызвана недостатком прав для выполнения действия, попытке подключения к занятым портам 80 и 443 или некорректной настройкой реестра.
3 способа исправить ошибку:
- Запустить консоль с повышенными привилегиями. Для этого в меню Пуск нужно ввести «Командная строка» и выбрать «Запуск от имени администратора».
- Переключиться на другой пул IP-адресов. Также это может сработать при конфликте между DNS и Quickbooks. Достаточно выполнить команду netsh int ipv4 set dynamicport tcp start=10000 num=1000 – затем такую же самую, но вместо tcp следует ввести udp.
- Устранить конфликты портов. Следует запустить консоль с правами админа, вставить netstat -ano и посмотреть, заняты ли порты 80 и 443. Если они не задействованы, придется перейти по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\ListenOnlyList в редакторе реестра. Теперь в консоли следует ввести net stop http и в параметре реестра ListenOnlyList нужно оставить только 0.0.0.0. Остается только запустить службу повторно net start http. Если порты заняты, нужно их либо освободить, либо переопределить.
Перечисленных выше действий достаточно, чтобы исправить проблему «Процесс не может получить доступ к файлу». После выполнения процедур удастся либо удалить файл, либо восстановить нормальную работу Windows IIS 6.0 и 7.0.