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

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

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

Повідомляється, що проблема виникає в 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. Виходячи з офіційної документації 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, щоб відкрити діалогове вікно Запуск. Потім наберіть ' regedit ' і натисніть Enter, щоб відкрити Редактор реєстру . На запит UAC (контроль облікового запису користувача) натисніть Так, щоб надати адміністративні права.

    Відкриття утиліти Редактора реєстру
  6. Всередині редактора реєстру за допомогою лівої панелі перейдіть до наступного місця:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Параметри \ ListenOnlyList 

    Примітка: Якщо підрозділу ListenOnlyList немає, немає необхідності створювати його, оскільки за замовчуванням буде використовуватися IP-адреса 0.0.0.0 .

  7. Перш ніж продовжувати та змінювати підрозділ ListenOnlyList, вам потрібно буде зупинити службу HTTP, що працює під управлінням IIS. Тому покладіть редактор реєстру на задній план, оскільки ми повернемось до нього за мить.
  8. Потім натисніть клавішу Windows + R, щоб відкрити діалогове вікно Запуск, введіть ' cmd ' і натисніть Enter, щоб відкрити ще одне вікно командного рядка.

    Запустити діалог: cmd
  9. У вікні Cmd запустіть таку команду та натисніть Enter, щоб зупинити службу HTTP, відповідальну за запуск IIS:
     net stop 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 ” і натисніть Enter, щоб відкрити вікно командного рядка.

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

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

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

Цікаві Статті