Oprava: Proces nemůže přistupovat k souboru, protože je používán jiným procesem

Několik uživatelů Windows se setká s chybou „ Proces nemůže získat přístup k souboru, protože je používán jiným procesem“ . Většinu času k problému dochází, když se uživatel pokusí spustit příkaz netsh. Někteří uživatelé hlásí, že pro ně se chybová zpráva zobrazí, když se pokusí klepnout pravým tlačítkem myši na web v modulu snap-in konzoly MMC (Internetová informační služba) služby IIS (Internet Information Services).

Proces nemůže získat přístup k souboru, protože je používán jiným procesem

Hlášeno, že k tomuto problému dochází v systému Windows Vista, Windows 7, Windows 8.1, Windows 10 a v různých verzích systému Windows Server.

Co způsobuje, že proces je používán jiným procesem?

Tento konkrétní problém jsme prošetřili sledováním různých uživatelských sestav a strategií oprav, které použili k vyřešení problému. Na základě toho, co jsme byli schopni shromáždit, existuje několik běžných scénářů, které spustí tuto konkrétní chybovou zprávu:

  • Příkaz vyžaduje oprávnění správce - Pokud narazíte na chybu uvnitř terminálu, je to pravděpodobně proto, že nemáte oprávnění správce k provedení změn. Několik uživatelů v podobné situaci dokázalo vyřešit problém udělením administrátorských oprávnění.
  • Jiný proces používá port 80 nebo port 443 - To je typické u počítačů se službou IIS (Internet Information Services). Pokud tyto dva porty používá jiný proces, zobrazí se tato chybová zpráva.
  • Podklíč registru ListenOnlyList není správně nakonfigurován - Dalším běžným scénářem služby IIS (Internet Information Services), který způsobí tuto konkrétní chybu, je nesprávně nakonfigurovaný podklíč registru ListenOnlyList.

Pokud se v současné době snažíte vyřešit tuto konkrétní chybovou zprávu, tento článek vám poskytne řadu ověřených kroků pro řešení problémů. Níže naleznete řadu metod, které ostatní uživatelé v podobné situaci použili k vyřešení problému.

Chcete-li dosáhnout nejlepších výsledků, postupujte podle níže uvedených metod, dokud nenastane oprava, která je účinná při řešení chyby ve vašem konkrétním scénáři.

Pojďme začít!

Metoda 1: Spuštění příkazu s oprávněními správce

Pokud se tato chyba zobrazuje při pokusu o spuštění příkazu netsh, je pravděpodobné, že k chybě dochází, protože nemáte oprávnění správce. Toto je hlášeno častěji, když se uživatel pokusí spustit příkaz, který přidává vyloučení z dynamického rozsahu portů pro nativní aplikace Windows nebo aplikace třetích stran.

Nezapomeňte, že taková operace bude vyžadovat administrátorská oprávnění. Chcete-li zajistit, aby okno CMD, ve kterém se pokoušíte akci provést, mělo oprávnění správce, postupujte takto:

  1. Stisknutím klávesy Windows + R otevřete dialogové okno Spustit. Poté zadejte „ cmd “ a stisknutím kláves Ctrl + Shift + Enter otevřete zvýšený příkazový řádek.

    Otevření zvýšeného okna příkazového řádku
  2. Po zobrazení výzvy UAC (Řízení uživatelských účtů) klikněte na Ano, abyste udělili oprávnění správce.
  3. Ve zvýšeném příkazovém řádku spusťte příkaz znovu a zkontrolujte, zda se stále zobrazuje stejná chybová zpráva.

Pokud se stále zobrazuje chyba „ Proces nemůže získat přístup k souboru, protože je používán jiným procesem“ nebo tento scénář nebyl použitelný, přejděte k následující metodě níže.

Metoda 2: Nastavení jiného rozsahu IP

Pokud se pokoušíte vyřešit konflikt DNS konfliktem pomocí netsh a výše uvedená metoda vám nepomohla, můžete zkusit jiný přístup.

Několik uživatelů, kteří se snaží vyřešit stejnou chybovou zprávu, zjistili, že konflikt je vyřešen poté, co se pokusili nastavit úplně jiný rozsah IP namísto vytvoření rozsahu vyloučení.

Níže naleznete několik příkazů, které jeden ovlivněný uživatel úspěšně provedl, aby vyřešil konflikt mezi DNS a Quickbooky:

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

Poznámka: Ujistěte se, že terminál, ve kterém příkaz spouštíte, má oprávnění správce.

Pokud tato metoda konflikt nevyřeší nebo se nevztahuje na situaci, se kterou se setkáváte, přejděte dolů ke konečné metodě.

Metoda 3: Řešení konfliktu portů IIS

Pokud narazíte na problém a pokusíte se pravým tlačítkem myši kliknout na položku webu v modulu snap-in konzoly MMC služby IIS (klepnutím na tlačítko Start se nic neděje), budete muset pomocí nástroje Netstat.exe zjistit, zda je jiný proces pomocí portu 80 a portu 443.

Tento problém je docela běžný u počítačů se systémem Microsoft IIS 6.0 a 7.0. Na základě oficiální dokumentace společnosti Microsoft se chybová zpráva zobrazí, pokud se na vaši aktuální situaci vztahuje jedna z následujících podmínek:

  • Podklíč registru ListenOnlyList není správně nakonfigurován v počítači se spuštěnou službou IIS.
  • Jiný proces používá port TCP (80) nebo SSL port (443) požadovaný IIS.

Chcete-li tento problém vyřešit, budeme muset nasadit obslužný program Netstat.exe, abychom zjistili, zda jiný proces používá porty uvedené výše. Pokud obslužný program zjistí, že porty nejsou používány, prozkoumáme podklíč Naslouchání a zjistíme, zda je správně nakonfigurován.

Zde je podrobný průvodce celou věcí:

  1. Stisknutím klávesy Windows + R otevřete dialogové okno Spustit. Poté zadejte „ cmd “ a stisknutím kláves Ctrl + Shift + Enter otevřete zvýšený příkazový řádek. Po zobrazení výzvy UAC (Řízení uživatelských účtů) klepněte na tlačítko Ano a udělte oprávnění správce.

    Otevření zvýšeného okna příkazového řádku
  2. Ve zvýšeném příkazovém řádku spusťte následující příkaz a spusťte nástroj Netstat.exe :
     netstat -ano 
  3. Jakmile získáte návrat, procházejte seznam aktivních připojení a ověřte, zda jsou porty 50 a 443 aktivně využívány jiným procesem.

    Ověření, zda jsou porty používány jiným procesem

    Poznámka: Pokud jsou porty aktivně využívány jiným procesem, podařilo se vám identifikovat zdroj problému. V tomto případě vyhledejte online konkrétní kroky, jak vyřešit konflikt portů podle PID portu.

  4. Zavřete zvýšený příkazový řádek, protože pro další kroky nepotřebujeme oprávnění správce.
  5. Pokud nejsou porty aktivně využívány, otevřete dialogové okno Spustit stisknutím kláves Windows + R. Poté zadejte příkaz „ regedit “ a stisknutím klávesy Enter otevřete Editor registru . Po zobrazení výzvy UAC (Řízení uživatelských účtů) klepněte na tlačítko Ano a udělte oprávnění správce.

    Otevření nástroje Editor registru
  6. V editoru registru přejděte pomocí levého panelu k následujícímu umístění:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList 

    Poznámka: V případě, že podklíč ListenOnlyList není přítomen, není nutné jej vytvářet, protože ve výchozím nastavení bude použita IP adresa 0.0.0.0 .

  7. Než začnete a upravujete podklíč ListenOnlyList, budete muset zastavit službu HTTP se službou IIS. Takže dejte Editor registru na pozadí, jak se k němu vrátíme za chvíli.
  8. Poté stisknutím kláves Windows + R otevřete dialogové okno Spustit, zadejte příkaz cmd a stisknutím klávesy Enter otevřete další okno příkazového řádku.

    Spustit dialog: cmd
  9. V příkazovém řádku Cmd spusťte následující příkaz a stisknutím klávesy Enter zastavte službu HTTP zodpovědnou za provoz služby IIS:
     net stop http 
  10. Na dotaz, zda chcete pokračovat v této operaci, zadejte „Y“ a potvrďte operaci stisknutím klávesy Enter.

    Zakázání služby HTTP
  11. Jakmile je služba HTTP zakázána, zavřete okno příkazového řádku a vraťte se do editoru registru.
  12. S vybraným podklíčem ListenOnlyList přejděte do pravého podokna a ujistěte se, že obsahuje platné adresy IP. Pokud zjistíte neplatnou adresu IP, odeberte ji nebo upravte tak, aby odrážel záznam s platnou adresou IP.

    Odstranění binárních hodnot s neplatnými IP

    Poznámka: V případě, že je přítomen podklíč ListenOnlyList a je uvedena adresa 0.0.0.0, je třeba odstranit všechny ostatní adresy IP.

  13. Zavřete Editor registru a restartujte počítač.
  14. Při příštím spuštění by měla být služba HTTP spuštěna automaticky. Ale jen abyste se ujistili, stisknutím kláves Windows + R otevřete další dialogové okno Spustit. Poté zadejte „ cmd “ a stisknutím klávesy Enter otevřete okno příkazového řádku.

    Otevření normálního okna příkazového řádku
  15. V nově otevřeném příkazovém řádku zadejte následující příkaz, abyste zajistili spuštění služby HTTP:
     net start http 

    Poznámka: Pokud se vám zobrazí zpráva, že „Požadovaná služba již byla spuštěna“, je dobré jít.

  16. Pokus o spuštění služby z modulu snap-in konzoly MMC (Microsoft Internet Information Services) IIS. Už byste se neměli setkat s chybou „proces nemůže získat přístup k souboru, protože je používán jiným procesem“ .

Zajímavé Články