Виправлення: процес не може отримати доступ до файлу, оскільки він використовується іншим процесом

Кілька користувачів Windows стикаються з помилкою " Процес не може отримати доступ до файлу, оскільки його використовує інший процес" . Найчастіше проблема виникає, коли користувач намагається запустити команду netsh. Деякі користувачі повідомляють, що для них повідомлення про помилку з’являється, коли вони намагаються клацнути веб-сайт правою кнопкою миші у оснастці MMC (Інформаційні служби Інтернету) MMC (Microsoft Management Console).

Повідомляється, що проблема виникає в Windows Vista, Windows 7, Windows 8.1, Windows 10 та різних версіях Windows Server.

Що змушує процес використовуватись іншим процесом?

Ми досліджували цю конкретну проблему, переглядаючи різні звіти користувачів та стратегії відновлення, які вони використовували для вирішення проблеми. Виходячи з того, що нам вдалося зібрати, існує кілька поширених сценаріїв, які спричинять появу цього конкретного повідомлення про помилку:

  • Команда вимагає прав адміністратора - якщо ви стикаєтеся з помилкою всередині терміналу, це, швидше за все, тому, що у вас немає адміністративних привілеїв для внесення змін. Кілька користувачів у подібній ситуації зуміли вирішити проблему, надавши права адміністратора.
  • Інший процес - використання порту 80 або порту 443 - це характерно для комп’ютерів, на яких запущено службу IIS (Інформаційні служби Інтернету). Якщо інший процес використовує ці два порти, ви побачите це повідомлення про помилку.
  • Підрозділ реєстру ListenOnlyList налаштовано неправильно - Іншим поширеним сценарієм 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 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. Відповідно до офіційної документації корпорації Майкрософт, повідомлення про помилку з’явиться, якщо до вашої поточної ситуації застосовується одна з наступних умов:

  • Підрозділ реєстру 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, щоб відкрити діалогове вікно Виконати. Потім введіть " regedit " і натисніть Enter, щоб відкрити редактор реєстру . На запит 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 ' і натисніть Enter, щоб відкрити інше вікно командного рядка.
  9. У командному рядку Cmd запустіть таку команду та натисніть Enter, щоб зупинити службу HTTP, відповідальну за запуск IIS:
    чиста зупинка http
  10. На запитання, чи хочете ви продовжувати цю операцію, введіть "Y" і натисніть Enter, щоб підтвердити операцію.
  11. Після вимкнення служби HTTP закрийте вікно командного рядка та поверніться до редактора реєстру.
  12. Вибравши підрозділ ListenOnlyList , перейдіть до правої панелі та переконайтеся, що він містить дійсні IP-адреси. Якщо ви виявили недійсну IP-адресу, видаліть її або змініть, щоб відображати запис із дійсною IP-адресою.

    Примітка: Якщо є підрозділ ListenOnlyList і вказана адреса 0.0.0.0 , вам потрібно видалити всі інші IP-адреси.

  13. Закрийте редактор реєстру та перезавантажте комп'ютер.
  14. При наступному запуску служба HTTP повинна запускатися автоматично. Але щоб переконатися, натисніть клавішу Windows + R, щоб відкрити інше діалогове вікно Виконати. Потім введіть “ cmd ” і натисніть Enter, щоб відкрити вікно командного рядка.
  15. У щойно відкритому командному рядку введіть таку команду, щоб переконатися, що служба HTTP запущена:
    чистий старт http

    Примітка: Якщо вам повернеться повідомлення про те, що “Запитана послуга вже запущена”, ви готові піти.

  16. Спроба запустити службу за допомогою оснастки консолі керування (MMC) Microsoft Internet Information Services (IIS). Ви більше не повинні стикатися з помилкою "процес не може отримати доступ до файлу, оскільки він використовується іншим процесом" .