Qu'est-ce que conhost.exe et pourquoi s'exécute-t-il?

Vous lisez sans aucun doute cet article parce que vous êtes tombé sur le processus Console Window Host (conhost.exe) dans le Gestionnaire des tâches et vous vous demandez ce que c'est. Nous avons la réponse pour vous.

CONNEXION: Quel est ce processus et pourquoi s'exécute-t-il sur mon PC?

Cet article fait partie de notre série en cours expliquant divers processus trouvés dans le Gestionnaire des tâches, tels que svchost.exe, dwm.exe, ctfmon.exe, mDNSResponder.exe, rundll32.exe, Adobe_Updater.exe et bien d'autres. Vous ne savez pas quels sont ces services? Mieux vaut commencer à lire!

Alors, quel est le processus hôte de la fenêtre de la console?

Comprendre le processus de l'hôte de la fenêtre de la console nécessite un peu d'histoire. À l'époque de Windows XP, l'invite de commandes était gérée par un processus appelé ClientServer Runtime System Service (CSRSS). Comme son nom l'indique, CSRSS était un service de niveau système. Cela a créé quelques problèmes. Premièrement, un crash dans CSRSS pourrait faire tomber tout un système, ce qui exposait non seulement des problèmes de fiabilité, mais aussi des vulnérabilités de sécurité possibles. Le deuxième problème était que CSRSS ne pouvait pas être thématisé, car les développeurs ne voulaient pas risquer le code de thème pour s'exécuter dans un processus système. Ainsi, l'invite de commande a toujours eu l'aspect classique plutôt que d'utiliser de nouveaux éléments d'interface.

Notez dans la capture d'écran de Windows XP ci-dessous que l'invite de commande n'a pas le même style qu'une application comme le Bloc-notes.

CONNEXION: Qu'est-ce que Desktop Window Manager (dwm.exe) et pourquoi fonctionne-t-il?

Windows Vista a introduit le Desktop Window Manager, un service qui «dessine» des vues composites de fenêtres sur votre bureau plutôt que de laisser chaque application le gérer seule. L'invite de commande a obtenu un thème superficiel à partir de cela (comme le cadre vitreux présent dans d'autres fenêtres), mais cela s'est fait au détriment de la possibilité de glisser-déposer des fichiers, du texte, etc. dans la fenêtre d'invite de commandes.

Pourtant, cette thématisation n'a été que si loin. Si vous regardez la console dans Windows Vista, il semble qu'elle utilise le même thème que tout le reste, mais vous remarquerez que les barres de défilement utilisent toujours l'ancien style. En effet, le gestionnaire de fenêtres du bureau gère le dessin des barres de titre et du cadre, mais une fenêtre CSRSS à l'ancienne se trouve toujours à l'intérieur.

Entrez Windows 7 et le processus hôte de la fenêtre de la console. Comme son nom l'indique, c'est un processus hôte pour la fenêtre de la console. Le processus se situe en quelque sorte au milieu entre CSRSS et l'invite de commande (cmd.exe), ce qui permet à Windows de résoudre les deux problèmes précédents - les éléments d'interface tels que les barres de défilement s'affichent correctement et vous pouvez à nouveau faire glisser et déposer dans l'invite de commande. Et c'est la méthode encore utilisée dans Windows 8 et 10, permettant tous les nouveaux éléments d'interface et le style qui sont apparus depuis Windows 7.

Même si le gestionnaire de tâches présente l'hôte de la fenêtre de la console comme une entité distincte, il est toujours étroitement associé à CSRSS. Si vous vérifiez le processus conhost.exe dans Process Explorer, vous pouvez voir qu'il s'exécute réellement sous le processus csrss.ese.

En fin de compte, l'hôte de fenêtre de console est quelque chose comme un shell qui maintient la puissance d'exécution d'un service au niveau du système comme CSRSS, tout en garantissant de manière sécurisée et fiable la possibilité d'intégrer des éléments d'interface modernes.

Pourquoi plusieurs instances du processus sont-elles en cours d'exécution?

Vous verrez souvent plusieurs instances du processus hôte de la fenêtre de la console s'exécuter dans le Gestionnaire des tâches. Chaque instance de l'invite de commande en cours d'exécution génère son propre processus hôte de fenêtre de console. En outre, les autres applications qui utilisent la ligne de commande génèrent leur propre processus hôte Windows de la console, même si vous ne voyez pas de fenêtre active pour elles. Un bon exemple de cela est l'application Plex Media Server, qui s'exécute en tant qu'application d'arrière-plan et utilise la ligne de commande pour se rendre disponible à d'autres appareils sur votre réseau.

De nombreuses applications d'arrière-plan fonctionnent de cette façon, il n'est donc pas rare de voir plusieurs instances du processus hôte de la fenêtre de la console s'exécuter à un moment donné. C'est un comportement normal. Pour la plupart, chaque processus devrait occuper très peu de mémoire (généralement moins de 10 Mo) et presque zéro processeur à moins que le processus ne soit actif.

Cela dit, si vous remarquez qu'une instance particulière de Console Window Host - ou un service associé - pose des problèmes, comme une utilisation excessive continue du processeur ou de la RAM, vous pouvez vérifier les applications spécifiques impliquées. Cela pourrait au moins vous donner une idée de l'endroit où commencer le dépannage. Malheureusement, le Gestionnaire des tâches lui-même ne fournit pas de bonnes informations à ce sujet. La bonne nouvelle est que Microsoft fournit un excellent outil avancé pour travailler avec des processus dans le cadre de sa gamme Sysinternals. Il suffit de télécharger Process Explorer et de l'exécuter - c'est une application portable, donc pas besoin de l'installer. Process Explorer fournit toutes sortes de fonctionnalités avancées et nous vous recommandons vivement de lire notre guide pour comprendre Process Explorer pour en savoir plus.

CONNEXION: Qu'est-ce qu'une application «portable» et pourquoi est-ce important?

Le moyen le plus simple de suivre ces processus dans Process Explorer consiste à appuyer d'abord sur Ctrl + F pour lancer une recherche. Recherchez «conhost», puis cliquez sur les résultats. Au fur et à mesure, vous verrez la fenêtre principale changer pour vous montrer l'application (ou le service) associé à cette instance particulière de l'hôte de la fenêtre de la console.

Si l'utilisation du processeur ou de la RAM indique que c'est l'instance qui vous cause des problèmes, au moins vous l'avez réduite à une application particulière.

Ce processus pourrait-il être un virus?

Le processus lui-même est un composant Windows officiel. Bien qu'il soit possible qu'un virus ait remplacé le véritable hôte de la fenêtre de la console par son propre exécutable, c'est peu probable. Si vous souhaitez en être sûr, vous pouvez vérifier l'emplacement du fichier sous-jacent du processus. Dans le Gestionnaire des tâches, cliquez avec le bouton droit sur n'importe quel processus de l'hôte de service et choisissez l'option «Ouvrir l'emplacement du fichier».

Si le fichier est stocké dans votre Windows\System32dossier, vous pouvez être à peu près certain de ne pas avoir affaire à un virus.

Il existe, en fait, un cheval de Troie nommé Conhost Miner qui se fait passer pour le processus hôte de la fenêtre de la console. Dans le Gestionnaire des tâches, cela ressemble au processus réel, mais un peu de fouille révélera qu'il est en fait stocké dans le %userprofile%\AppData\Roaming\Microsoftdossier plutôt que dans le Windows\System32dossier. Le cheval de Troie est en fait utilisé pour détourner votre PC pour extraire des Bitcoins, donc l'autre comportement que vous remarquerez s'il est installé sur votre système est que l'utilisation de la mémoire est plus élevée que vous ne le pensez et que l'utilisation du processeur se maintient à des niveaux très élevés (souvent au-dessus 80%).

CONNEXION: Quel est le meilleur antivirus pour Windows 10? (Windows Defender est-il assez bon?)

Bien sûr, utiliser un bon antivirus est le meilleur moyen de prévenir (et de supprimer) les logiciels malveillants tels que Conhost Miner, et c'est quelque chose que vous devriez faire de toute façon. Mieux vaut prévenir que guérir!