Fix: Processen kan inte komma åt filen eftersom den används av en annan process

Flera Windows-användare stöter på felet " Processen kan inte komma åt filen eftersom den används av en annan process" . Oftast uppstår problemet när användaren försöker köra ett netsh-kommando. Vissa användare rapporterar att felmeddelandet för dem visas när de försöker högerklicka på en webbplats i snapin-modulen IIS (Internet Information Services) MMC (Microsoft Management Console).

Processen har inte åtkomst till filen eftersom den används av en annan process

Problemet rapporteras förekomma i Windows Vista, Windows 7, Windows 8.1, Windows 10 och på olika Windows Server-versioner.

Vad gör att processen används av en annan process?

Vi undersökte just detta problem genom att titta på olika användarrapporter och reparationsstrategier som de använde för att få problemet att lösa. Baserat på vad vi kunde samla finns det flera vanliga scenarier som utlöser detta felmeddelande:

  • Kommandot kräver administratörsbehörigheter - Om du stöter på felet i en terminal är det troligtvis för att du inte har administratörsbehörighet att göra ändringarna. Flera användare i en liknande situation har lyckats lösa problemet genom att ge administratörsbehörighet.
  • En annan process är att använda port 80 eller port 443 - Detta är typiskt för datorer som kör IIS (Internet Information Services). Om en annan process använder dessa två portar ser du det här felmeddelandet.
  • Undernyckeln till ListenOnlyList-registret är inte konfigurerad korrekt - Ett annat vanligt scenario med IIS (Internet Information Services) som utlöser det här felet är en felaktigt konfigurerad undernyckel till ListenOnlyList-registret.

Om du för närvarande kämpar för att lösa det här felmeddelandet kommer den här artikeln att ge dig en samling verifierade felsökningssteg. Nedanför har du en samling metoder som andra användare i en liknande situation har använt för att lösa problemet.

För bästa resultat följer du metoderna nedan i ordning tills du stöter på en fix som är effektiv för att lösa felet i ditt specifika scenario.

Låt oss börja!

Metod 1: Köra kommandot med admin behörigheter

Om du får detta fel när du försöker köra ett netsh-kommando är det troligt att felet inträffar eftersom du inte har administratörsbehörighet. Det rapporteras att detta inträffar mer än ofta när användaren försöker köra ett kommando som lägger till undantag för det dynamiska portområdet för ursprungliga Windows-appar eller tredjepartsapplikationer.

Tänk på att en sådan operation kräver administratörsbehörighet. Följ stegen nedan för att säkerställa att CMD-fönstret du försöker utföra åtgärden i har behörighetsbehörighet:

  1. Tryck på Windows-tangenten + R för att öppna en Kör-dialogruta. Skriv sedan " cmd " och tryck på Ctrl + Shift + Enter för att öppna en upphöjd kommandotolken.

    Öppna ett upphöjd kommandotolksfönster
  2. När du uppmanas av UAC (User Account Control) klickar du på Ja för att ge administratörsbehörighet.
  3. Kör kommandot igen i den upphöjda kommandotolken och se om du fortfarande stöter på samma felmeddelande.

Om du fortfarande får felet " Processen kan inte få åtkomst till filen eftersom den används av en annan process" eller detta scenario inte var tillämpligt, gå ner till nästa metod nedan.

Metod 2: Ställa in ett annat IP-intervall

Om du försöker lösa en konflikt-DNS-konflikt med netsh och metoden ovan hjälpte dig inte, kanske du vill prova ett annat tillvägagångssätt.

Flera användare som kämpar för att lösa samma felmeddelande har funnit att konflikten är löst efter att de försökte ställa in ett helt annat IP-område istället för att skapa ett uteslutningsområde.

Nedan har du ett par kommandon som en påverkad användare framgångsrikt körde för att lösa en konflikt mellan DNS och Quickbooks:

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

Obs: Se till att terminalen som du kör kommandot i har administratörsbehörighet.

Om den här metoden inte löser konflikten eller inte var tillämplig på den situation du stöter på, gå ner till den slutliga metoden.

Metod 3: Lösning av IIS-portkonflikten

Om du stöter på problemet när du försöker högerklicka på ett webbplatsobjekt i IIS MMC-snap-in (klicka på Start gör inte någonting) måste du använda verktyget Netstat.exe för att ta reda på om en annan process är använder port 80 och port 443.

Det här problemet är ganska vanligt med datorer som kör Microsoft IIS 6.0 och 7.0. Baserat på den officiella Microsoft-dokumentationen kommer felmeddelandet att visas om något av följande villkor är tillämpliga på din nuvarande situation:

  • Undernyckeln till ListenOnlyList- registret är inte korrekt konfigurerad på IIS-kördatorn.
  • En annan process är att använda TCP-porten (80) eller SSL-porten (443) som krävs av IIS.

För att lösa det här problemet måste vi distribuera verktyget Netstat.exe för att avgöra om en annan process använder portarna som anges ovan. Om verktyget bestämmer att portarna inte används undersöker vi undernyckeln ListenOnlyList för att se om den är korrekt konfigurerad.

Här är en steg-för-steg-guide genom hela saken:

  1. Tryck på Windows-tangenten + R för att öppna en Kör-dialogruta. Skriv sedan " cmd " och tryck på Ctrl + Shift + Enter för att öppna en upphöjd kommandotolken. När du uppmanas av UAC (User Account Control) klickar du på Ja för att ge administrativa behörigheter.

    Öppna ett upphöjd kommandotolksfönster
  2. Inuti den upphöjda kommandotolken kör du följande kommando för att starta verktyget Netstat.exe :
     netstat -ano 
  3. När du kommer tillbaka, bläddra igenom listan över aktiva anslutningar och kontrollera om portarna 50 och 443 används aktivt av en annan process.

    Verifierar om portarna används av en annan process

    Obs! Om portarna används aktivt av en annan process har du precis lyckats identifiera källan till problemet. I det här fallet letar du online för specifika steg för att lösa portkonflikten i enlighet med portens PID.

  4. Stäng den upphöjda kommandotolken eftersom vi inte behöver administratörsbehörighet för nästa steg.
  5. Om portarna inte används aktivt, tryck på Windows-tangenten + R för att öppna en Kör-dialogruta. Skriv sedan ' regedit ' och tryck på Enter för att öppna registerredigeraren . När du uppmanas av UAC (användarkontokontroll) klickar du på Ja för att ge administrativa behörigheter.

    Öppna verktyget Registerredigerare
  6. Använd den vänstra rutan i registerredigeraren för att navigera till följande plats:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList 

    Obs: Om undernyckeln ListenOnlyList inte finns finns det inget behov att skapa en som en IP-adress på 0.0.0.0 kommer som standard att användas.

  7. Innan du går vidare och ändrar undernyckeln ListenOnlyList måste du stoppa HTTP-tjänsten som kör IIS. Så lägg registerredigeraren i bakgrunden då vi kommer tillbaka till det på ett ögonblick.
  8. Tryck sedan på Windows-tangenten + R för att öppna en Kör-dialogruta, skriv ' cmd ' och tryck på Enter för att öppna ett annat kommandotolk-fönster.

    Kör dialogruta: cmd
  9. Kör följande kommando i Cmd-prompten och tryck på Enter för att stoppa HTTP-tjänsten som är ansvarig för att köra IIS:
     netstopp http 
  10. När du blir frågad om du vill fortsätta den här operationen, skriv 'Y' och tryck på Enter för att bekräfta operationen.

    Inaktiverar HTTP-tjänsten
  11. När HTTP-tjänsten har inaktiverats stänger du kommandotolken och återgår till registerredigeraren.
  12. Med undernyckeln ListenOnlyList markerad, gå över till den högra rutan och se till att den innehåller giltiga IP-adresser. Om du upptäcker en IP-adress som inte är giltig, ta bort den eller ändra den för att spegla en post med en giltig IP-adress.

    Radera binära värden med ogiltiga IP: er

    Obs: Om undernyckeln ListenOnlyList finns och 0, 0.0.0- adressen visas måste du ta bort alla andra IP-adresser.

  13. Stäng registerredigeraren och starta om datorn.
  14. Vid nästa start bör HTTP-tjänsten startas automatiskt. Men bara för att se till att trycka på Windows-tangenten + R för att öppna en annan dialogruta för körning. Skriv sedan " cmd " och tryck på Enter för att öppna ett kommandotolk-fönster.

    Öppna ett normalt kommandotolk-fönster
  15. I den nyöppnade kommandotolken skriver du följande kommando för att se till att HTTP-tjänsten startas:
     nettstart http 

    Obs! Om du får ett meddelande om att "Den begärda tjänsten har redan startats" är du bra att gå.

  16. Försök att starta en tjänst från Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC) snap-in. Du bör inte längre stöta på "processen kan inte komma åt filen eftersom den används av en annan process" -fel.

Intressanta Artiklar