Poprawka: proces nie może uzyskać dostępu do pliku, ponieważ jest używany przez inny proces

Kilku użytkowników systemu Windows napotyka błąd „ Proces nie może uzyskać dostępu do pliku, ponieważ jest on używany przez inny proces” . Przez większość czasu problem występuje, gdy użytkownik próbuje uruchomić polecenie netsh. Niektórzy użytkownicy zgłaszają, że dla nich komunikat o błędzie pojawia się, gdy próbują kliknąć prawym przyciskiem myszy stronę internetową w przystawce IIS (Internet Information Services) MMC (Microsoft Management Console).

Proces nie może uzyskać dostępu do pliku, ponieważ jest używany przez inny proces

Zgłoszono, że problem występuje w systemach Windows Vista, Windows 7, Windows 8.1, Windows 10 oraz w różnych wersjach systemu Windows Server.

Co powoduje, że proces jest wykorzystywany przez inny proces?

Przeanalizowaliśmy ten konkretny problem, przeglądając różne raporty użytkowników i strategie naprawy zastosowane w celu rozwiązania problemu. Na podstawie tego, co udało nam się zebrać, istnieje kilka typowych scenariuszy, które wywołają ten konkretny komunikat o błędzie:

  • Polecenie wymaga uprawnień administratora - jeśli napotkasz błąd w terminalu, najprawdopodobniej nie masz uprawnień administratora, aby dokonać modyfikacji. Kilku użytkownikom w podobnej sytuacji udało się rozwiązać problem, przyznając uprawnienia administratora.
  • Innym procesem jest użycie portu 80 lub portu 443 - jest to typowe w przypadku komputerów z IIS (Internetowymi usługami informacyjnymi). Jeśli inny proces korzysta z tych dwóch portów, zobaczysz ten komunikat o błędzie.
  • Podklucz rejestru ListenOnlyList nie jest poprawnie skonfigurowany - Innym typowym scenariuszem z IIS (Internetowymi usługami informacyjnymi), który wywoła ten konkretny błąd, jest niepoprawnie skonfigurowany podklucz rejestru ListenOnlyList.

Jeśli obecnie próbujesz rozwiązać ten konkretny komunikat o błędzie, w tym artykule znajdziesz zbiór sprawdzonych kroków rozwiązywania problemów. Poniżej znajduje się zbiór metod, których używali inni użytkownicy w podobnej sytuacji, aby rozwiązać problem.

Aby uzyskać najlepsze wyniki, postępuj zgodnie z poniższymi metodami, aż napotkasz poprawkę, która skutecznie rozwiąże błąd w danym scenariuszu.

Zaczynajmy!

Metoda 1: Uruchomienie polecenia z uprawnieniami administratora

Jeśli pojawia się ten błąd podczas próby uruchomienia polecenia netsh, prawdopodobnie wystąpił błąd, ponieważ nie masz uprawnień administratora. Jest to zgłaszane częściej niż wtedy, gdy użytkownik próbuje uruchomić polecenie, które dodaje wykluczenia do zakresu portów dynamicznych dla aplikacji natywnych Windows lub aplikacji innych firm.

Należy pamiętać, że tego rodzaju operacja będzie wymagać uprawnień administratora. Aby upewnić się, że okno CMD, w którym próbujesz wykonać akcję, ma uprawnienia administratora, wykonaj następujące czynności:

  1. Naciśnij klawisze Windows + R, aby otworzyć okno dialogowe Uruchom. Następnie wpisz „ cmd ” i naciśnij Ctrl + Shift + Enter, aby otworzyć wiersz polecenia z podwyższonym poziomem uprawnień.

    Otwieranie okna wiersza polecenia z podwyższonym poziomem uprawnień
  2. Po wyświetleniu monitu przez UAC (Kontrola konta użytkownika) kliknij Tak, aby przyznać uprawnienia administratora.
  3. W wierszu polecenia z podwyższonym poziomem uprawnień uruchom ponownie polecenie i sprawdź, czy nadal pojawia się ten sam komunikat o błędzie.

Jeśli nadal występuje błąd „ Proces nie może uzyskać dostępu do pliku, ponieważ jest używany przez inny proces” lub ten scenariusz nie miał zastosowania, przejdź do następnej metody poniżej.

Metoda 2: Ustawienie innego zakresu adresów IP

Jeśli próbujesz rozwiązać konflikt Konflikt DNS za pomocą narzędzia Netsh, a powyższa metoda nie pomogła, możesz spróbować zastosować inne podejście.

Kilku użytkowników próbujących rozwiązać ten sam komunikat o błędzie odkryło, że konflikt został rozwiązany po próbie ustawienia zupełnie innego zakresu adresów IP zamiast tworzenia zakresu wykluczenia.

Poniżej znajduje się kilka poleceń, które jeden użytkownik, którego dotyczy problem, pomyślnie uruchomił, aby rozwiązać konflikt między DNS a Quickbooks:

 netsh int ipv4 set dynamicport tcp start=10000 num=1000 netsh int ipv4 set dynamicport udp start=10000 num=1000 

Uwaga: Upewnij się, że terminal, na którym uruchamiasz polecenie, ma uprawnienia administratora.

Jeśli ta metoda nie rozwiązała konfliktu lub nie miała zastosowania w napotkanej sytuacji, przejdź do ostatniej metody.

Metoda 3: Rozwiązanie konfliktu portów IIS

Jeśli napotykasz problem podczas próby kliknięcia prawym przyciskiem myszy elementu strony internetowej w przystawce IIS MMC (kliknięcie przycisku Start nic nie robi), musisz użyć narzędzia Netstat.exe, aby dowiedzieć się, czy inny proces jest za pomocą portu 80 i portu 443.

Ten problem jest dość powszechny na komputerach z systemem Microsoft IIS 6.0 i 7.0. Na podstawie oficjalnej dokumentacji firmy Microsoft komunikat o błędzie pojawi się, jeśli w obecnej sytuacji ma zastosowanie jeden z następujących warunków:

  • Podklucz rejestru ListenOnlyList nie jest poprawnie skonfigurowany na uruchomionym komputerze IIS.
  • Innym procesem jest użycie portu TCP (80) lub portu SSL (443) wymaganych przez IIS.

Aby rozwiązać ten problem, będziemy musieli wdrożyć narzędzie Netstat.exe w celu ustalenia, czy inny proces korzysta z portów określonych powyżej. Jeśli narzędzie stwierdzi, że porty nie są używane, zbadamy podklucz ListenOnlyList, aby sprawdzić, czy jest poprawnie skonfigurowany.

Oto przewodnik krok po kroku przez całą sprawę:

  1. Naciśnij klawisze Windows + R, aby otworzyć okno dialogowe Uruchom. Następnie wpisz „ cmd ” i naciśnij Ctrl + Shift + Enter, aby otworzyć wiersz polecenia z podwyższonym poziomem uprawnień. Po wyświetleniu monitu przez UAC (Kontrola konta użytkownika) kliknij Tak, aby przyznać uprawnienia administracyjne.

    Otwieranie okna wiersza polecenia z podwyższonym poziomem uprawnień
  2. W wierszu polecenia z podwyższonym poziomem uprawnień uruchom następujące polecenie, aby uruchomić narzędzie Netstat.exe :
     netstat -ano 
  3. Po otrzymaniu zwrotu przewiń listę aktywnych połączeń i sprawdź, czy porty 50 i 443 są aktywnie wykorzystywane przez inny proces.

    Sprawdzanie, czy porty są używane przez inny proces

    Uwaga: jeśli porty są aktywnie wykorzystywane przez inny proces, właśnie udało Ci się zidentyfikować źródło problemu. W takim przypadku poszukaj w Internecie konkretnych kroków, jak rozwiązać konflikt portów zgodnie z PID portu.

  4. Zamknij podniesiony wiersz polecenia, ponieważ nie będziemy potrzebować uprawnień administratora do kolejnych kroków.
  5. Jeśli porty nie są aktywnie używane, naciśnij klawisz Windows + R, aby otworzyć okno dialogowe Uruchom. Następnie wpisz „ regedit ” i naciśnij klawisz Enter, aby otworzyć Edytor rejestru . Po wyświetleniu monitu przez Kontrola konta użytkownika (Kontrola konta użytkownika) kliknij przycisk Tak, aby przyznać uprawnienia administracyjne.

    Otwieranie narzędzia Edytora rejestru
  6. W edytorze rejestru użyj lewego panelu, aby przejść do następującej lokalizacji:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList 

    Uwaga: Jeśli podklucz ListenOnlyList nie jest obecny, nie trzeba go tworzyć, ponieważ domyślnie będzie używany adres IP 0.0.0.0 .

  7. Zanim przejdziesz dalej i zmodyfikujesz podklucz ListenOnlyList, musisz zatrzymać usługę HTTP z uruchomionymi usługami IIS. Umieść Edytor rejestru w tle, ponieważ za chwilę do niego wrócimy.
  8. Następnie naciśnij klawisze Windows + R, aby otworzyć okno dialogowe Uruchom, wpisz „ cmd ” i naciśnij klawisz Enter, aby otworzyć kolejne okno wiersza polecenia.

    Uruchom okno dialogowe: cmd
  9. W wierszu polecenia Cmd uruchom następujące polecenie i naciśnij klawisz Enter, aby zatrzymać usługę HTTP odpowiedzialną za uruchomienie usług IIS:
     stop netto http 
  10. Na pytanie, czy chcesz kontynuować tę operację, wpisz „Y” i naciśnij klawisz Enter, aby potwierdzić operację.

    Wyłączanie usługi HTTP
  11. Po wyłączeniu usługi HTTP zamknij okno wiersza polecenia i wróć do Edytora rejestru.
  12. Po wybraniu podklucza ListenOnlyList przejdź do prawego panelu i upewnij się, że zawiera prawidłowe adresy IP. Jeśli zauważysz nieprawidłowy adres IP, usuń go lub zmodyfikuj, aby odzwierciedlał wpis z prawidłowym adresem IP.

    Usuwanie wartości binarnych z nieprawidłowymi adresami IP

    Uwaga: Jeśli podklucz ListenOnlyList jest obecny i na liście znajduje się adres 0.0.0.0, musisz usunąć wszystkie pozostałe adresy IP.

  13. Zamknij Edytor rejestru i uruchom ponownie komputer.
  14. Przy następnym uruchomieniu usługa HTTP powinna zostać uruchomiona automatycznie. Ale dla pewności naciśnij klawisze Windows + R, aby otworzyć kolejne okno dialogowe Uruchom. Następnie wpisz „ cmd ” i naciśnij klawisz Enter, aby otworzyć okno wiersza polecenia.

    Otwieranie zwykłego okna wiersza polecenia
  15. W nowo otwartym wierszu polecenia wpisz następujące polecenie, aby zapewnić uruchomienie usługi HTTP:
     początek sieci http 

    Uwaga: jeśli zostanie wyświetlony komunikat „Żądana usługa została już uruchomiona”, możesz zacząć.

  16. Próba uruchomienia usługi z przystawki Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC). Nie należy już napotykać błędu „proces nie może uzyskać dostępu do pliku, ponieważ jest on używany przez inny proces” .

Ciekawe Artykuły