Oprava: Proces nemôže získať prístup k súboru, pretože sa používa v inom procese

Niektorí používatelia Windows sa stretávajú s chybou „ Proces nemôže získať prístup k súboru, pretože ho používa iný proces“ . Problém sa väčšinou vyskytuje, keď sa používateľ pokúša spustiť príkaz netsh. Niektorí používatelia hlásia, že pre nich sa chybové hlásenie zobrazí, keď sa pokúsia pravým tlačidlom myši kliknúť na webovú stránku v konzole MMC (Microsoft Information Console) služby IIS (Internet Information Services).

Proces nemôže získať prístup k súboru, pretože ho používa iný proces

O tomto probléme sa uvádza, že sa vyskytuje v systémoch Windows Vista, Windows 7, Windows 8.1, Windows 10 a na rôznych verziách systému Windows Server.

Čo spôsobuje, že proces je používaný iným procesom?

Tento konkrétny problém sme preskúmali pomocou rôznych správ používateľov a stratégií opráv, ktoré používali na vyriešenie problému. Na základe toho, čo sme boli schopní zhromaždiť, existuje niekoľko bežných scenárov, ktoré spustia túto konkrétnu chybovú správu:

  • Príkaz vyžaduje oprávnenia správcu - Ak narazíte na chybu vo vnútri terminálu, je pravdepodobné, že nemáte potrebné oprávnenia na vykonanie úprav. Niektorým používateľom v podobnej situácii sa tento problém podarilo vyriešiť udelením oprávnení správcu.
  • Ďalší proces používa port 80 alebo port 443 - Toto je typické pre počítače so spustenou službou IIS (Internet Information Services). Ak tieto dva porty používa iný proces, zobrazí sa toto chybové hlásenie.
  • Podkľúč registra ListenOnlyList nie je správne nakonfigurovaný. - Ďalším bežným scenárom s IIS (Internet Information Services), ktorý spôsobí túto konkrétnu chybu, je nesprávne nakonfigurovaný podkľúč registra ListenOnlyList.

Ak sa momentálne pokúšate vyriešiť túto konkrétnu chybovú správu, v tomto článku nájdete zoznam overených krokov na riešenie problémov. Nižšie nájdete zoznam metód, ktoré ostatní používatelia v podobnej situácii použili na vyriešenie problému.

Ak chcete dosiahnuť najlepšie výsledky, postupujte podľa nižšie uvedených metód, kým nenarazíte na opravu, ktorá účinne vyrieši chybu vo vašom konkrétnom scenári.

Poďme začať!

Metóda 1: Spustenie príkazu s oprávneniami správcu

Ak sa táto chyba zobrazuje pri pokuse o spustenie príkazu netsh, je pravdepodobné, že sa vyskytla chyba, pretože nemáte oprávnenia správcu. Toto je hlásené častejšie, keď sa užívateľ pokúša spustiť príkaz, ktorý pridáva vylúčenia z dynamického rozsahu portov pre natívne aplikácie Windows alebo aplikácie tretích strán.

Nezabúdajte, že takáto operácia si bude vyžadovať oprávnenia správcu. Ak sa chcete uistiť, že okno CMD, v ktorom sa snažíte vykonať akciu, má oprávnenia správcu, postupujte takto:

  1. Stlačením klávesu Windows + R otvorte dialógové okno Spustiť. Potom napíšte „ cmd “ a stlačte Ctrl + Shift + Enter, aby ste otvorili zvýšený príkazový riadok.

    Otvorenie vyvýšeného okna príkazového riadka
  2. Keď sa zobrazí výzva UAC (Kontrola používateľských účtov), kliknite na Áno, aby ste udelili administrátorské práva.
  3. Vo zvýšenom príkazovom riadku príkaz spustite znova a skontrolujte, či sa stále zobrazuje rovnaké chybové hlásenie.

Ak sa stále zobrazuje chyba „ Proces nemôže získať prístup k súboru, pretože sa používa v inom procese“ alebo tento scenár nebol použiteľný, prejdite na nasledujúcu metódu nižšie.

Metóda 2: Nastavenie iného rozsahu IP

Ak sa snažíte vyriešiť konflikt DNS pomocou Netsh a vyššie uvedená metóda vám nepomohla, môžete skúsiť iný prístup.

Niekoľko používateľov, ktorí sa snažia vyriešiť tú istú chybovú správu, zistilo, že konflikt sa vyriešil potom, čo sa namiesto vytvorenia rozsahu vylúčenia pokúsili nastaviť úplne iný rozsah IP.

Nižšie nájdete niekoľko príkazov, ktoré jeden ovplyvnený používateľ úspešne spustil, aby vyriešil konflikt medzi DNS a Quickbooks:

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

Poznámka: Skontrolujte, či terminál, v ktorom spúšťate príkaz, má oprávnenia správcu.

Ak táto metóda konflikt nevyriešila alebo sa nevzťahovala na situáciu, s ktorou sa stretávate, prejdite na poslednú metódu.

Metóda 3: Riešenie konfliktu portov IIS

Ak narazíte na problém a pokúsite sa pravým tlačidlom myši kliknúť na položku webovej stránky v rámci modulu IIS MMC (kliknutím na tlačidlo Štart nič nerobíte), budete musieť pomocou nástroja Netstat.exe zistiť, či je iný proces pomocou portu 80 a portu 443.

Tento problém je bežný u počítačov so systémom Microsoft IIS 6.0 a 7.0. Na základe oficiálnej dokumentácie spoločnosti Microsoft sa chybové hlásenie zobrazí, ak sa na vašu aktuálnu situáciu vzťahuje jedna z nasledujúcich podmienok:

  • Na podkategórii registra ListenOnlyList nie je správne nainštalovaný počítač so spustenou službou IIS.
  • Ďalším procesom je použitie portu TCP (80) alebo portu SSL (443) vyžadovaného službou IIS.

Ak chcete tento problém vyriešiť, budeme musieť nasadiť obslužný program Netstat.exe, aby sme zistili, či iný proces používa vyššie uvedené porty. Ak obslužný program zistí, že porty sa nepoužívajú, preskúmame podkľúč ListenOnlyList, aby sme zistili, či je správne nakonfigurovaný.

Tu je krok za krokom sprievodcom celou vecou:

  1. Stlačením klávesu Windows + R otvorte dialógové okno Spustiť. Potom napíšte „ cmd “ a stlačte Ctrl + Shift + Enter, aby ste otvorili zvýšený príkazový riadok. Keď sa zobrazí výzva UAC (Kontrola používateľských účtov), kliknite na Áno, aby ste udelili administratívne oprávnenia.

    Otvorenie vyvýšeného okna príkazového riadka
  2. Vo zvýšenom príkazovom riadku spustite nasledujúci príkaz na spustenie pomôcky Netstat.exe :
     netstat -ano 
  3. Akonáhle dostanete návrat, prejdite zoznam aktívnych pripojení a overte, či sú porty 50 a 443 aktívne využívané iným procesom.

    Overuje sa, či sa porty používajú iným procesom

    Poznámka: Ak sa porty aktívne používajú v inom procese, podarilo sa vám identifikovať zdroj problému. V takom prípade vyhľadajte online konkrétne kroky, ako vyriešiť konflikt portov podľa PID portu.

  4. Zatvorte zvýšený príkazový riadok, pretože v nasledujúcich krokoch nebudeme potrebovať administrátorské privilégiá.
  5. Ak sa porty aktívne nepoužívajú, stlačením klávesov Windows + R otvorte dialógové okno Spustiť. Potom napíšte „ regedit “ a stlačením klávesu Enter otvorte Editor databázy Registry . Keď sa zobrazí výzva UAC (Kontrola používateľských účtov), kliknite na Áno, aby ste udelili administratívne oprávnenia.

    Otvorenie pomôcky Editor databázy Registry
  6. Vo vnútri editora databázy Registry použite ľavú tablu na nasledujúce miesto:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList 

    Poznámka: V prípade, že podkľúč ListenOnlyList nie je k dispozícii, nie je potrebné ho vytvárať, pretože v predvolenom nastavení bude použitá adresa IP 0.0.0.0 .

  7. Predtým, ako budete pokračovať a upravovať podkľúč ListenOnlyList, budete musieť zastaviť službu HTTP, na ktorej je spustená služba IIS. Preto dajte editor databázy Registry na pozadí, keď sa k nemu po chvíli vrátime.
  8. Potom stlačením klávesov Windows + R otvorte dialógové okno Spustiť, napíšte „ cmd “ a stlačením klávesu Enter otvorte ďalšie okno príkazového riadka.

    Spustiť dialógové okno: cmd
  9. Na výzvu Cmd spustite nasledujúci príkaz a stlačte kláves Enter, čím zastavíte službu HTTP zodpovednú za spustenie služby IIS:
     net stop http 
  10. Na otázku, či chcete pokračovať v tejto operácii, napíšte „Y“ a stlačením Enter potvrďte operáciu.

    Zakázanie služby HTTP
  11. Keď je služba HTTP zakázaná, zatvorte okno príkazového riadka a vráťte sa do editora registra.
  12. Ak je vybratý podkľúč ListenOnlyList, prejdite na tablu na pravej strane a skontrolujte, či obsahuje platné adresy IP. Ak zistíte neplatnú adresu IP, odstráňte ju alebo upravte tak, aby odrážala záznam s platnou adresou IP.

    Vymazanie binárnych hodnôt s neplatnými adresami IP

    Poznámka: V prípade, že existuje podkľúč ListenOnlyList a je uvedená adresa 0.0.0.0, musíte odstrániť všetky ostatné adresy IP.

  13. Zatvorte Editor databázy Registry a reštartujte počítač.
  14. Pri nasledujúcom spustení by sa mala služba HTTP automaticky spustiť. Ale len sa uistite, stlačte kláves Windows + R a otvorte ďalšie dialógové okno Spustiť. Potom napíšte „ cmd “ a stlačením klávesu Enter otvorte okno príkazového riadka.

    Otvorenie normálneho okna príkazového riadka
  15. V novo otvorenom príkazovom riadku zadajte nasledujúci príkaz, aby ste sa uistili, že je spustená služba HTTP:
     net start http 

    Poznámka: Ak dostanete správu, ktorá hovorí: „Požadovaná služba už bola spustená“, je dobré ísť.

  16. Pokúste sa spustiť službu pomocou modulu snap-in Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC). Už by ste sa nemali stretnúť s chybou „proces nemôže získať prístup k súboru, pretože ho používa iný proces“ .

Zaujímavé Články