Correzione: il processo non può accedere al file perché viene utilizzato da un altro processo

Diversi utenti di Windows riscontrano l' errore " Il processo non può accedere al file perché è utilizzato da un altro processo" . Il più delle volte, il problema si verifica quando l'utente tenta di eseguire un comando netsh. Alcuni utenti segnalano che per loro, il messaggio di errore viene visualizzato quando provano a fare clic con il pulsante destro del mouse su un sito Web nello snap-in MMC (Microsoft Management Console) di IIS (Internet Information Services).

È stato segnalato che il problema si verifica su Windows Vista, Windows 7, Windows 8.1, Windows 10 e su varie versioni di Windows Server.

Cosa fa sì che il processo venga utilizzato da un altro processo?

Abbiamo esaminato questo particolare problema esaminando i vari rapporti degli utenti e le strategie di riparazione che hanno utilizzato per risolvere il problema. In base a ciò che siamo stati in grado di raccogliere, ci sono diversi scenari comuni che attiveranno questo particolare messaggio di errore:

  • Il comando richiede privilegi di amministratore : se si verifica un errore all'interno di un terminale, è molto probabile che non si disponga dei privilegi di amministratore per apportare le modifiche. Diversi utenti in una situazione simile sono riusciti a risolvere il problema concedendo i privilegi di amministratore.
  • Un altro processo utilizza la porta 80 o la porta 443 , tipica dei computer che eseguono IIS (Internet Information Services). Se un altro processo utilizza queste due porte, verrà visualizzato questo messaggio di errore.
  • La sottochiave del Registro di sistema ListenOnlyList non è configurata correttamente : un altro scenario comune con IIS (Internet Information Services) che attiverà questo particolare errore è una sottochiave del Registro di sistema ListenOnlyList configurata in modo errato.

Se attualmente stai lottando per risolvere questo particolare messaggio di errore, questo articolo ti fornirà una raccolta di passaggi di risoluzione dei problemi verificati. Di seguito, hai una raccolta di metodi che altri utenti in una situazione simile hanno utilizzato per risolvere il problema.

Per ottenere i migliori risultati, seguire i metodi seguenti in ordine fino a quando non si incontra una correzione efficace per risolvere l'errore nel proprio scenario particolare.

Cominciamo!

Metodo 1: esecuzione del comando con privilegi di amministratore

Se ricevi questo errore quando provi a eseguire un comando netsh, è probabile che si verifichi perché non hai i privilegi di amministratore. Ciò si verifica più spesso quando l'utente tenta di eseguire un comando che aggiunge esclusioni all'intervallo di porte dinamiche per app Windows native o applicazioni di terze parti.

Tieni presente che un'operazione di questo tipo richiederà privilegi di amministratore. Per assicurarti che la finestra CMD in cui stai tentando di eseguire l'azione disponga dei privilegi di amministratore, procedi nel seguente modo:

  1. Premi il tasto Windows + R per aprire una finestra di dialogo Esegui. Quindi, digita " cmd " e premi Ctrl + Maiusc + Invio per aprire un prompt dei comandi con privilegi elevati.
  2. Quando richiesto dall'UAC (controllo dell'account utente) , fare clic su per concedere i privilegi di amministratore.
  3. Nel prompt dei comandi con privilegi elevati, esegui nuovamente il comando e verifica se stai ancora riscontrando lo stesso messaggio di errore.

Se ricevi ancora l' errore " Il processo non può accedere al file perché è utilizzato da un altro processo" o questo scenario non era applicabile, passa al metodo successivo di seguito.

Metodo 2: impostazione di un intervallo IP diverso

Se stai cercando di risolvere un conflitto DNS utilizzando netsh e il metodo sopra non ti ha aiutato, potresti provare un approccio diverso.

Diversi utenti che lottano per risolvere lo stesso messaggio di errore hanno scoperto che il conflitto è stato risolto dopo aver tentato di impostare un intervallo IP completamente diverso invece di creare un intervallo di esclusione.

Di seguito sono riportati un paio di comandi che un utente interessato ha eseguito correttamente per risolvere un conflitto tra DNS e Quickbooks:

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

Nota: assicurati che il terminale su cui stai eseguendo il comando disponga dei privilegi di amministratore.

Se questo metodo non ha risolto il conflitto o non era applicabile alla situazione che stai riscontrando, passa al metodo finale.

Metodo 3: risoluzione del conflitto di porte IIS

Se si verifica il problema durante il tentativo di fare clic con il pulsante destro del mouse su un elemento del sito Web all'interno dello snap-in MMC di IIS (facendo clic su Start non viene eseguita alcuna operazione), sarà necessario utilizzare l'utilità Netstat.exe per capire se è presente un altro processo utilizzando la porta 80 e la porta 443.

Questo problema è abbastanza comune con i computer che eseguono Microsoft IIS 6.0 e 7.0. In base alla documentazione ufficiale Microsoft, verrà visualizzato il messaggio di errore se una delle seguenti condizioni è applicabile alla situazione attuale:

  • La sottochiave del Registro di sistema ListenOnlyList non è configurata correttamente nel computer in esecuzione IIS.
  • Un altro processo sta utilizzando la porta TCP (80) o la porta SSL (443) richiesta da IIS.

Per risolvere questo problema, dovremo distribuire l' utilità Netstat.exe per determinare se un altro processo sta utilizzando le porte specificate sopra. Se l'utilità determina che le porte non vengono utilizzate, esamineremo la sottochiave ListenOnlyList per vedere se è configurata correttamente.

Ecco una guida passo passo attraverso l'intera cosa:

  1. Premi il tasto Windows + R per aprire una finestra di dialogo Esegui. Quindi, digita " cmd " e premi Ctrl + Maiusc + Invio per aprire un prompt dei comandi con privilegi elevati. Quando richiesto dall'UAC (controllo dell'account utente) , fare clic su per concedere i privilegi amministrativi.
  2. All'interno del prompt dei comandi con privilegi elevati, eseguire il comando seguente per avviare l' utilità Netstat.exe :
    netstat -ano
  3. Una volta ottenuto un reso, scorrere l'elenco delle connessioni attive e verificare se le porte 50 e 443 vengono utilizzate attivamente da un processo diverso.

    Nota: se le porte vengono utilizzate attivamente da un processo diverso, sei appena riuscito a identificare l'origine del problema. In questo caso, cercare in linea passaggi specifici su come risolvere il conflitto di porte in base al PID della porta.

  4. Chiudi il prompt dei comandi con privilegi elevati poiché non avremo bisogno dei privilegi di amministratore per i passaggi successivi.
  5. Se le porte non vengono utilizzate attivamente, premere il tasto Windows + R per aprire una finestra di dialogo Esegui. Quindi, digita " regedit " e premi Invio per aprire l' Editor del Registro di sistema . Quando richiesto dall'UAC (controllo dell'account utente) , fare clic su per concedere privilegi amministrativi.
  6. All'interno dell'editor del registro, utilizza il riquadro di sinistra per accedere alla seguente posizione:
    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList

    Nota: nel caso in cui la sottochiave ListenOnlyList non sia presente, non è necessario crearne una poiché per impostazione predefinita verrà utilizzato un indirizzo IP 0.0.0.0 .

  7. Prima di procedere e modificare la sottochiave ListenOnlyList , sarà necessario arrestare il servizio HTTP che esegue IIS. Quindi metti l'Editor del Registro di sistema in background perché ci torneremo tra un momento.
  8. Quindi, premere il tasto Windows + R per aprire una finestra di dialogo Esegui, digitare " cmd " e premere Invio per aprire un'altra finestra del prompt dei comandi.
  9. Nel prompt Cmd, eseguire il seguente comando e premere Invio per arrestare il servizio HTTP responsabile dell'esecuzione di IIS:
    net stop http
  10. Quando ti viene chiesto se desideri continuare questa operazione, digita "Y" e premi Invio per confermare l'operazione.
  11. Una volta disabilitato il servizio HTTP, chiudere la finestra del prompt dei comandi e tornare all'Editor del Registro di sistema.
  12. Con la sottochiave ListenOnlyList selezionata, passare al riquadro di destra e assicurarsi che contenga indirizzi IP validi. Se rilevi un indirizzo IP non valido, rimuovilo o modificalo per riflettere una voce con un indirizzo IP valido.

    Nota: nel caso in cui sia presente la sottochiave ListenOnlyList e sia elencato l' indirizzo 0.0.0.0 , è necessario eliminare tutti gli altri indirizzi IP.

  13. Chiudi l'Editor del Registro di sistema e riavvia il computer.
  14. Al successivo avvio, il servizio HTTP dovrebbe essere avviato automaticamente. Ma solo per essere sicuro, premi il tasto Windows + R per aprire un'altra finestra di dialogo Esegui. Quindi, digita " cmd " e premi Invio per aprire una finestra del prompt dei comandi.
  15. Nel prompt dei comandi appena aperto, digita il seguente comando per assicurarti che il servizio HTTP sia avviato:
    net start http

    Nota: se ti viene restituito un messaggio che dice che "Il servizio richiesto è già stato avviato", sei a posto.

  16. Tentare di avviare un servizio dallo snap-in Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC). Non dovresti più riscontrare l' errore "il processo non può accedere al file perché è utilizzato da un altro processo" .

Raccomandato

Correzione: Minecraft non rispondeva
Che cos'è l'applicazione di registrazione del dispositivo del sintonizzatore TV digitale e deve essere rimossa?
Cos'è FileRepMalware e dovresti rimuoverlo