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



Попробуйте наш инструмент устранения неполадок

Некоторые пользователи Windows сталкиваются с ошибкой « Процесс не может получить доступ к файлу, потому что он используется другим процессом » ошибка. В большинстве случаев проблема возникает, когда пользователь пытается запустить команду netsh. Некоторые пользователи сообщают, что для них сообщение об ошибке появляется, когда они пытаются щелкнуть правой кнопкой мыши веб-сайт в оснастке IIS (Internet Information Services) MMC (Microsoft Management Console).



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



Сообщается, что проблема возникает в Windows Vista, Windows 7, Windows 8.1, Windows 10 и в различных версиях Windows Server.



Что заставляет процесс использоваться другим процессом?

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

  • Команда требует прав администратора - Если вы столкнулись с ошибкой внутри терминала, скорее всего, это связано с тем, что у вас нет прав администратора для внесения изменений. Нескольким пользователям в аналогичной ситуации удалось решить проблему, предоставив права администратора.
  • Другой процесс использует порт 80 или порт 443 - Это типично для компьютеров под управлением IIS (Internet Information Services). Если другой процесс использует эти два порта, вы увидите это сообщение об ошибке.
  • Подраздел реестра ListenOnlyList настроен неправильно - Другой распространенный сценарий с IIS (Internet Information Services), который вызывает эту конкретную ошибку, - это неправильно настроенный подраздел реестра ListenOnlyList.

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

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



Давай начнем!

Метод 1: запуск команды с правами администратора

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

Имейте в виду, что для такой операции потребуются права администратора. Чтобы убедиться, что окно CMD, в котором вы пытаетесь выполнить действие, имеет права администратора, выполните следующие действия:

  1. Нажмите Windows key + R , чтобы открыть диалоговое окно «Выполнить». Затем введите « cmd »И нажмите Ctrl + Shift + Enter , чтобы открыть командную строку с повышенными привилегиями.

    Открытие окна командной строки с повышенными привилегиями

  2. По запросу UAC (Контроль учетных записей пользователей) нажмите да чтобы предоставить права администратора.
  3. В командной строке с повышенными привилегиями запустите команду еще раз и посмотрите, появляется ли по-прежнему то же сообщение об ошибке.

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

Метод 2: установка другого диапазона 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

Заметка: Убедитесь, что терминал, в котором вы запускаете команду, имеет права администратора.

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

Метод 3: разрешение конфликта портов IIS

Если вы столкнулись с проблемой при попытке щелкнуть правой кнопкой мыши элемент веб-сайта в оснастке IIS MMC (нажатие кнопки «Пуск» ничего не делает), вам необходимо использовать служебную программу Netstat.exe, чтобы выяснить, является ли другой процесс. используя порт 80 и порт 443.

Эта проблема довольно часто встречается на компьютерах под управлением Microsoft IIS 6.0 и 7.0. Согласно официальной документации Microsoft, сообщение об ошибке появится, если к вашей текущей ситуации применимо одно из следующих условий:

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

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

Вот пошаговое руководство по всему этому:

  1. Нажмите Windows key + R , чтобы открыть диалоговое окно «Выполнить». Затем введите « cmd »И нажмите Ctrl + Shift + Enter , чтобы открыть командную строку с повышенными привилегиями. По запросу UAC (Контроль учетных записей пользователей) нажмите да для предоставления административных привилегий.

    Открытие окна командной строки с повышенными привилегиями

  2. В командной строке с повышенными привилегиями выполните следующую команду, чтобы запустить Netstat.exe утилита:
    netstat -ano
  3. Как только вы получите возврат, прокрутите список Активные соединения и проверьте, активно ли порты 50 и 443 используются другим процессом.

    Проверка того, используются ли порты другим процессом

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

  4. Закройте командную строку с повышенными привилегиями, поскольку нам не потребуются права администратора для следующих шагов.
  5. Если порты не используются активно, нажмите Windows key + R , чтобы открыть диалоговое окно «Выполнить». Затем введите ‘ regedit ‘И нажмите Войти открыть Редактор реестра . По запросу UAC (контроль учетных записей пользователей) нажмите да для предоставления административных привилегий.

    Открытие утилиты редактора реестра

  6. В редакторе реестра используйте левую панель, чтобы перейти к следующему месту:
    HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Services  HTTP  Parameters  ListenOnlyList 

    Заметка: В случае если ListenOnlyList подключ отсутствует, нет необходимости создавать его в качестве IP-адреса 0.0.0.0 будет использоваться по умолчанию.

  7. Прежде чем продолжить и изменить ListenOnlyList подключ, вам нужно будет остановить службу HTTP, на которой запущен IIS. Так что переведите редактор реестра в фоновый режим, и мы скоро к нему вернемся.
  8. Далее нажмите Windows key + R чтобы открыть диалоговое окно «Выполнить», введите ‘ cmd ‘И нажмите Войти , чтобы открыть другое окно командной строки.

    Диалог запуска: cmd

  9. В командной строке Cmd выполните следующую команду и нажмите Войти чтобы остановить службу HTTP, отвечающую за запуск IIS:
    чистая стопа http
  10. Когда вас спросят, хотите ли вы продолжить эту операцию, введите «Y» и нажмите Enter, чтобы подтвердить операцию.

    Отключение службы HTTP

  11. После отключения службы HTTP закройте окно командной строки и вернитесь в редактор реестра.
  12. С ListenOnlyList выбранный подключ, перейдите на правую панель и убедитесь, что он содержит действительные IP-адреса. Если вы обнаружили недействительный IP-адрес, удалите его или измените, чтобы отразить запись с действительным IP-адресом.

    Удаление двоичных значений с недопустимыми IP-адресами

    Заметка: В случае если ListenOnlyList подключ присутствует и 0.0.0.0 адрес указан, вам необходимо удалить все остальные IP-адреса.

  13. Закройте редактор реестра и перезагрузите компьютер.
  14. При следующем запуске служба HTTP должна запуститься автоматически. Но на всякий случай нажмите Windows key + R , чтобы открыть другое диалоговое окно «Выполнить». Затем введите « cmd »И нажмите Войти , чтобы открыть окно командной строки.

    Открытие обычного окна командной строки

  15. Во вновь открытой командной строке введите следующую команду, чтобы убедиться, что служба HTTP запущена:
     чистый старт http 

    Заметка: Если вам вернули сообщение о том, что «Запрошенная услуга уже запущена», все готово.

  16. Попытка запустить службу из оснастки Microsoft Internet Information Services (IIS) консоли управления Microsoft (MMC). Вы больше не должны сталкиваться с 'Процесс не может получить доступ к файлу, потому что он используется другим процессом' ошибка.
5 минут на чтение