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 survient lorsque l'utilisateur essaie d'exécuter une commande netsh. Certains utilisateurs signalent que, pour eux, le message d'erreur apparaît lorsqu'ils tentent de cliquer avec le bouton droit de la souris sur un site Web dans le composant logiciel enfichable IIS (Internet Information Services) MMC (Microsoft Management Console).

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

Le problème se produirait sous Windows Vista, Windows 7, Windows 8.1, Windows 10 et 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 en examinant divers rapports d'utilisateurs et les stratégies de réparation qu'ils utilisaient pour résoudre le problème. Sur la base de ce que nous avons pu rassembler, plusieurs scénarios courants déclenchent ce message d'erreur particulier:

  • La commande nécessite des privilèges d'administrateur . Si vous rencontrez une erreur à l'intérieur d'un terminal, il est fort probable que vous ne disposiez pas de privilèges d'administrateur 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 (services Internet) qui déclenchera cette erreur particulière est une sous-clé de Registre ListenOnlyList configurée de manière incorrecte.

Si vous avez du mal à résoudre ce message d'erreur en particulier, cet article vous fournit une collection d'étapes de dépannage vérifiées. En bas, vous avez une collection de méthodes que d'autres utilisateurs dans une situation similaire ont utilisée 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 des 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. Il est signalé que cela se produit plus souvent lorsque l'utilisateur essaie 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'exécuter l'action possède des privilèges d'administrateur, procédez comme suit:

  1. Appuyez sur les touches 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 commande avec privilèges élevés.

    Ouverture d'une fenêtre d'invite de commande surélevée
  2. Lorsque le UAC (Contrôle de compte d'utilisateur) vous y invite, cliquez sur Oui pour octroyer des privilèges à l'administrateur.
  3. Dans l'invite de commande avec privilèges élevés, réexécutez la commande pour voir 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 ne s'applique pas, passez à la méthode suivante ci-dessous.

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

Si vous essayez de résoudre un conflit DNS à l'aide de netsh et que la méthode ci-dessus ne vous a pas aidé, vous pouvez 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 tenté de définir une plage 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 de la souris sur un élément de site Web dans le composant logiciel enfichable IIS MMC (en cliquant sur Démarrer ne fait rien), vous devrez utiliser l'utilitaire Netstat.exe pour déterminer si un autre processus est en cours. utilisant les ports 80 et 443.

Ce problème est assez commun avec les ordinateurs exécutant Microsoft IIS 6.0 et 7.0. Selon la documentation officielle de Microsoft, le message d'erreur s'affichera 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 en cours d'exécution IIS.
  • Un autre processus utilise le port TCP (80) ou le port SSL (443) requis par IIS.

Pour résoudre ce problème, nous devons 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 pas à pas pour vous guider:

  1. Appuyez sur les touches 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 commande avec privilèges élevés. Lorsque le UAC (Contrôle de compte d'utilisateur) vous y invite, cliquez sur Oui pour octroyer des privilèges d'administration.

    Ouverture d'une fenêtre d'invite de commande surélevée
  2. Dans l'invite de commande avec privilèges élevés, 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 utilisés activement par un processus différent.

    Vérifier si les ports sont utilisés par un processus différent

    Remarque: Si les ports sont activement utilisés par un processus différent, vous venez juste d'identifier la source de votre problème. Dans ce cas, recherchez en ligne les étapes spécifiques permettant 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 des privilèges d'administrateur pour les prochaines étapes.
  5. Si les ports ne sont pas utilisés activement, appuyez sur les touches 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 le contrôle de compte d'utilisateur (UAC) vous y invite, cliquez sur Oui pour octroyer des privilèges d'administration.

    Ouverture de l'utilitaire de l'éditeur de registre
  6. Dans l'éditeur de registre, utilisez le volet de gauche pour accéder à l'emplacement suivant:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList 

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

  7. Avant de modifier la sous-clé ListenOnlyList, vous devez arrêter le service HTTP qui exécute IIS. Mettez donc l’éditeur de registre à l’arrière-plan, car nous y reviendrons dans un instant.
  8. Ensuite, appuyez sur les touches 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 commande.

    Exécuter le dialogue: cmd
  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:
     net stop 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.

    Désactiver le service HTTP
  11. Une fois le service HTTP désactivé, fermez la fenêtre d'invite de commande et revenez dans l'éditeur de 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 non valide, supprimez-la ou modifiez-la pour refléter une entrée avec une adresse IP valide.

    Suppression des valeurs binaires avec des adresses IP non valides

    Remarque: Si la sous-clé ListenOnlyList est présente et que l'adresse 0.0.0.0 est répertorié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 vous assurer, appuyez sur les touches 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 commande.

    Ouvrir une fenêtre d'invite de commande normale
  15. Dans l'invite de commande récemment ouverte, tapez la commande suivante pour vous assurer que le service HTTP est démarré:
     http net start 

    Remarque: Si vous recevez un message indiquant que «le service demandé a déjà été lancé», vous pouvez continuer.

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

Des Articles Intéressants