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

Несколько пользователей 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 (службы IIS), который вызывает эту конкретную ошибку, — это неправильно настроенный раздел реестра ListenOnlyList.

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

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

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

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

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

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

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

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

Способ 2: установка другого диапазона IP

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

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

Ниже у вас есть пара команд, которые один уязвимый пользователь успешно выполнил для разрешения конфликта между DNS и Quickbooks:

netsh int ipv4 set динамический порт tcp start = 10000 num = 1000
netsh int ipv4 set динамический порт 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 ключ + R открыть диалоговое окно «Выполнить». Затем введите «CMDИ нажмите Ctrl + Shift + Enter открыть командную строку с повышенными правами. По подсказке UAC (контроль учетных записей пользователей), щелчок да предоставить административные привилегии.
    Открытие окна командной строки с повышенными правами
  2. В командной строке с повышенными привилегиями выполните следующую команду, чтобы запустить netstat.exe полезность:
    netstat -ano
  3. Получив возврат, прокрутите список Активные подключения и проверьте, активно ли порты 50 и 443 используются другим процессом.
    Проверка, используются ли порты другим процессом

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

  4. Закройте командную строку с повышенными привилегиями, поскольку нам не понадобятся права администратора для следующих шагов.
  5. Если порты не используются активно, нажмите Windows ключ + R открыть диалоговое окно «Выполнить». Затем введите ‘смерзаться‘И нажмите Войти открыть Редактор реестра. По подсказке UAC (контроль учетной записи пользователя), щелчок да предоставить административные привилегии.
    Открытие утилиты редактора реестра
  6. Внутри редактора реестра используйте левую панель, чтобы перейти к следующему местоположению:
    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList

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

  7. Прежде чем идти вперед и изменить ListenOnlyList подраздел, вам необходимо остановить службу HTTP, на которой запущен IIS. Поэтому поместите редактор реестра в фоновый режим, и мы скоро к нему вернемся.
  8. Далее нажмите Windows ключ + 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 ключ + R открыть другое диалоговое окно «Выполнить». Затем введите «CMDИ нажмите Войти открыть окно командной строки.
    Открытие обычного окна командной строки
  15. В новой открытой командной строке введите следующую команду, чтобы убедиться, что служба HTTP запущена:
    чистый старт http

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

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