Correction: le processus ne peut pas accéder au fichier car il est utilisé par un autre processus

Plusieurs utilisateurs Windows rencontrent l' erreur « Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus» . La plupart du temps, le problème se produit lorsque l'utilisateur tente d'exécuter une commande netsh. Certains utilisateurs signalent que pour eux, le message d'erreur s'affiche lorsqu'ils essaient de cliquer avec le bouton droit sur un site Web dans le composant logiciel enfichable IIS (Internet Information Services) MMC (Microsoft Management Console).

Le problème se produirait sous Windows Vista, Windows 7, Windows 8.1, Windows 10 et sur diverses versions de Windows Server.

Qu'est-ce qui fait que le processus est utilisé par un autre processus?

Nous avons étudié ce problème particulier en examinant divers rapports d'utilisateurs et les stratégies de réparation qu'ils ont utilisées pour résoudre le problème. Sur la base de ce que nous avons pu recueillir, il existe plusieurs scénarios courants qui déclencheront ce message d'erreur particulier:

  • La commande nécessite des privilèges d'administrateur - Si vous rencontrez l'erreur dans un terminal, c'est probablement parce que vous ne disposez pas des privilèges administratifs pour effectuer les modifications. Plusieurs utilisateurs dans une situation similaire ont réussi à résoudre le problème en accordant des privilèges d'administrateur.
  • Un autre processus utilise le port 80 ou le port 443 - Ceci est typique avec les ordinateurs exécutant IIS (Internet Information Services). Si un autre processus utilise ces deux ports, vous verrez ce message d'erreur.
  • La sous-clé de Registre ListenOnlyList n'est pas configurée correctement - Un autre scénario courant avec IIS (Internet Information Services) qui déclenchera cette erreur particulière est une sous-clé de Registre ListenOnlyList incorrectement configurée.

Si vous avez actuellement du mal à résoudre ce message d'erreur particulier, cet article vous fournira une collection d'étapes de dépannage vérifiées. Ci-dessous, vous avez une collection de méthodes que d'autres utilisateurs dans une situation similaire ont utilisées pour résoudre le problème.

Pour obtenir les meilleurs résultats, suivez les méthodes ci-dessous dans l'ordre jusqu'à ce que vous rencontriez un correctif efficace pour résoudre l'erreur dans votre scénario particulier.

Commençons!

Méthode 1: exécution de la commande avec les privilèges d'administrateur

Si vous obtenez cette erreur lorsque vous essayez d'exécuter une commande netsh, il est probable que l'erreur se produise car vous ne disposez pas des privilèges d'administrateur. Cela se produit plus que souvent lorsque l'utilisateur tente d'exécuter une commande qui ajoute des exclusions à la plage de ports dynamiques pour les applications Windows natives ou les applications tierces.

Gardez à l'esprit qu'une opération de ce type nécessitera des privilèges d'administrateur. Pour vous assurer que la fenêtre CMD dans laquelle vous essayez d'effectuer l'action dispose des privilèges d'administrateur, procédez comme suit:

  1. Appuyez sur la touche Windows + R pour ouvrir une boîte de dialogue Exécuter. Ensuite, tapez « cmd » et appuyez sur Ctrl + Maj + Entrée pour ouvrir une invite de commandes élevée.
  2. Lorsque vous y êtes invité par l' UAC (contrôle de compte d'utilisateur) , cliquez sur Oui pour accorder des privilèges d'administrateur.
  3. Dans l'invite de commandes élevée, exécutez à nouveau la commande et voyez si vous rencontrez toujours le même message d'erreur.

Si vous obtenez toujours l' erreur « Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus» ou si ce scénario n'était pas applicable, passez à la méthode suivante ci-dessous.

Méthode 2: définition d'une plage IP différente

Si vous essayez de résoudre un conflit DNS en utilisant netsh et que la méthode ci-dessus ne vous a pas aidé, vous voudrez peut-être essayer une approche différente.

Plusieurs utilisateurs qui ont du mal à résoudre le même message d'erreur ont constaté que le conflit était résolu après avoir essayé de définir une plage d'adresses IP complètement différente au lieu de créer une plage d'exclusion.

Vous trouverez ci-dessous quelques commandes qu'un utilisateur affecté a exécutées avec succès pour résoudre un conflit entre DNS et Quickbooks:

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

Remarque: assurez-vous que le terminal dans lequel vous exécutez la commande dispose des privilèges d'administrateur.

Si cette méthode n'a pas résolu le conflit ou n'était pas applicable à la situation que vous rencontrez, passez à la méthode finale.

Méthode 3: résolution du conflit de port IIS

Si vous rencontrez le problème en essayant de cliquer avec le bouton droit sur un élément de site Web dans le composant logiciel enfichable IIS MMC (cliquer sur Démarrer ne fait rien), vous devrez utiliser l'utilitaire Netstat.exe pour déterminer si un autre processus est en utilisant le port 80 et le port 443.

Ce problème est assez courant avec les ordinateurs exécutant Microsoft IIS 6.0 et 7.0. Sur la base de la documentation officielle de Microsoft, le message d'erreur apparaîtra si l'une des conditions suivantes s'applique à votre situation actuelle:

  • La sous-clé de Registre ListenOnlyList n'est pas configurée correctement sur l'ordinateur exécutant IIS.
  • Un autre processus utilise le port TCP (80) ou le port SSL (443) requis par IIS.

Pour résoudre ce problème, nous devrons déployer l' utilitaire Netstat.exe afin de déterminer si un autre processus utilise les ports spécifiés ci-dessus. Si l'utilitaire détermine que les ports ne sont pas utilisés, nous examinerons la sous-clé ListenOnlyList pour voir si elle est correctement configurée.

Voici un guide étape par étape à travers le tout:

  1. Appuyez sur la touche Windows + R pour ouvrir une boîte de dialogue Exécuter. Ensuite, tapez « cmd » et appuyez sur Ctrl + Maj + Entrée pour ouvrir une invite de commandes élevée. Lorsque vous y êtes invité par l' UAC (User Account Control) , cliquez sur Oui pour accorder des privilèges administratifs.
  2. Dans l'invite de commandes avec élévation de privilèges , exécutez la commande suivante pour démarrer l' utilitaire Netstat.exe :
    netstat -ano
  3. Une fois que vous obtenez un retour, faites défiler la liste des connexions actives et vérifiez si les ports 50 et 443 sont activement utilisés par un processus différent.

    Remarque: si les ports sont activement utilisés par un processus différent, vous venez de réussir à identifier la source de votre problème. Dans ce cas, recherchez en ligne des étapes spécifiques sur la façon de résoudre le conflit de port en fonction du PID du port.

  4. Fermez l'invite de commande élevée car nous n'aurons pas besoin de privilèges d'administrateur pour les étapes suivantes.
  5. Si les ports ne sont pas utilisés activement, appuyez sur la touche Windows + R pour ouvrir une boîte de dialogue Exécuter. Ensuite, tapez ' regedit ' et appuyez sur Entrée pour ouvrir l' éditeur de registre . Lorsque vous y êtes invité par l' UAC (contrôle de compte d'utilisateur) , cliquez sur Oui pour accorder des privilèges administratifs.
  6. Dans l'éditeur de registre, utilisez le volet gauche pour accéder à l'emplacement suivant:
    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList

    Remarque: Dans le cas où la sous-clé ListenOnlyList n'est pas présente, il n'est pas nécessaire d'en créer une car une adresse IP de 0.0.0.0 sera utilisée par défaut.

  7. Avant de continuer et de modifier la sous-clé ListenOnlyList , vous devez arrêter le service HTTP qui exécute IIS. Mettez donc l'éditeur de registre en arrière-plan car nous y reviendrons dans un instant.
  8. Ensuite, appuyez sur la touche Windows + R pour ouvrir une boîte de dialogue Exécuter, tapez « cmd » et appuyez sur Entrée pour ouvrir une autre fenêtre d'invite de commandes.
  9. Dans l'invite Cmd, exécutez la commande suivante et appuyez sur Entrée pour arrêter le service HTTP responsable de l'exécution d'IIS:
    arrêt net http
  10. Lorsqu'on vous demande si vous souhaitez continuer cette opération, tapez «Y» et appuyez sur Entrée pour confirmer l'opération.
  11. Une fois le service HTTP désactivé, fermez la fenêtre d'invite de commandes et revenez à l'éditeur du registre.
  12. Avec la sous-clé ListenOnlyList sélectionnée, passez au volet de droite et assurez-vous qu'il contient des adresses IP valides. Si vous repérez une adresse IP qui n'est pas valide, supprimez-la ou modifiez-la pour refléter une entrée avec une adresse IP valide.

    Remarque: Dans le cas où la ListenOnlyList sous - clé est présente et la 0.0.0.0 adresse est indiquée, vous devez supprimer toutes les autres adresses IP.

  13. Fermez l'Éditeur du Registre et redémarrez votre ordinateur.
  14. Au prochain démarrage, le service HTTP devrait être démarré automatiquement. Mais juste pour être sûr, appuyez sur la touche Windows + R pour ouvrir une autre boîte de dialogue Exécuter. Ensuite, tapez « cmd » et appuyez sur Entrée pour ouvrir une fenêtre d'invite de commandes.
  15. Dans l'invite de commande nouvellement ouverte, tapez la commande suivante pour vous assurer que le service HTTP est démarré:
    démarrage net http

    Remarque: Si vous recevez un message indiquant que «Le service demandé a déjà été démarré», vous êtes prêt à partir.

  16. Tentative de démarrage d'un service à partir du composant logiciel enfichable Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC). Vous ne devriez plus rencontrer l' erreur «le processus ne peut pas accéder au fichier car il est utilisé par un autre processus» .

Recommandé

Correction: Minecraft ne répond pas
Qu'est-ce que l'application d'enregistrement de périphérique de tuner TV numérique et doit-elle être supprimée?
Qu'est-ce que FileRepMalware et devez-vous le supprimer?