web-dev-qa-db-fra.com

Plusieurs ports (8005, 8080, 8009) requis par le serveur Tomcat sur localhost sont déjà utilisés

Le message d'erreur suivant s'affiche lorsque j'essaie d'exécuter un programme JSP simple sur Tomcat dans Eclipse. 

Plusieurs ports (8005, 8080, 8009) requis par Tomcat v6.0 Server sur localhost sont déjà utilisés. Le serveur est peut-être déjà en cours d'exécution dans un autre processus ou un processus système utilise peut-être le port. Pour démarrer ce serveur, vous devez arrêter l'autre processus ou modifier le ou les numéros de port.

Comment cela est-il causé et comment puis-je le résoudre?

240
elle

Vous avez déjà une autre instance de Tomcat en cours d'exécution. Vous pouvez le confirmer en accédant à http://localhost:8080 dans votre navigateur Web et en vérifiant si vous obtenez la page d'accueil par défaut de Tomcat ou une page d'erreur 404 spécifique à Tomcat. Les deux sont des preuves tout aussi valables que Tomcat fonctionne bien; dans le cas contraire, vous auriez reçu un message d'erreur relatif au délai de connexion HTTP spécifique au navigateur.

Vous devez l'arrêter. Accédez au sous-dossier /bin du dossier d'installation de Tomcat et exécutez le script shutdown.bat (Windows) ou shutdown.sh (Unix). Si c'est en vain, fermez Eclipse, ouvrez le gestionnaire de tâches et supprimez tous les processus Java et/ou javaw

Ou, si vous l'avez installé en tant que service Windows pour une raison quelconque (cela est destiné à la production et n'est pas utile lorsque vous développez), ouvrez le gestionnaire de services ( Démarrer> Exécuter> services.msc ) et arrêtez le service Tomcat. Si nécessaire, désinstallez complètement le service Windows. Pour le développement, seul le fichier Zip est suffisant.

Ou si votre actual / intention est d'exécuter deux instances de Tomcat simultanément, vous devez configurer la seconde instance pour écouter sur des ports différents. Consultez la documentation de Tomcat pour plus de détails.

440
BalusC
kill $(ps -aef | grep Java | grep Apache | awk '{print $2}')
  • pas besoin de redémarrer Eclipse
  • si vous obtenez l'erreur ci-dessus, entrez simplement cette ligne dans le terminal 
  • démarrez à nouveau le Tomcat dans Eclipse.
  • ne fonctionne que sur les systèmes Linux (Ubuntu ..etc)
51
Shan

Si vous utilisez Windows, essayez ceci dans l'invite de ligne de commande:

netstat -ano

Cela montrera tous les ports utilisés et le numéro d'identification du processus PID # du processus utilisant ce port. ensuite Ctrl+Alt+Del et ouvrez le Gestionnaire des tâches pour voir quel processus est-ce.

Vous pouvez ensuite choisir de le fermer/l’arrêter ou de configurer votre serveur pour utiliser un autre port. Pour vérifier si le nouveau port choisi (par exemple 8010) est disponible, procédez comme suit:

netstat -ano | grep 8010

S'il ne renvoie aucune ligne, tout va bien.

Pour changer le port, allez dans la vue Serveur, ouvrez server.xml et changez le port. Le mien a cette entrée:

Connector port="8010" protocol="AJP/1.3" redirectPort="8443"
28
Mau

Si vous êtes sur l'environnement Mac, ici est ce que j'ai fait.

Recherchez l'identifiant du processus en cours d'exécution sur ce port à partir du terminal, par exemple 8080:

lsof -i :8080

et tuez le:

kill -9 <PID>
20
Timeless

Procédure pour libérer le port déjà utilisé pour exécuter le serveur Tomcat dans Eclipse

Par exemple, si le port 8080 est utilisé, nous devons libérer 8080 pour exécuter Tomcat.

Étape 1:

C:\Utilisateurs\nom d'utilisateur> netstat -o -n -a | findstr 0.0: 8080 

TCP 0.0.0.0:3000 0.0.0.0:0 ÉCOUTE 3116

Maintenant, nous pouvons voir que le port d'écoute est 3116 pour 8080,

Nous devons tuer 3116 maintenant

Étape 2:-

C:\Utilisateurs\nom d'utilisateur> taskkill/F/PID 3116

Étape 3: Allez sur Eclipse et démarrez le serveur, il sera exécuté 

16

Si vous utilisez Eclipse, double-cliquez sur serveurs et double-cliquez sur serveur Tomcat pour ouvrir un fichier. Dans ce fichier, changez le port HTTP en un autre numéro de port et enregistrez (Ctrl+S) puis redémarrez le serveur.

14
abc

Si Eclipse dit 

Plusieurs ports (8005, 8080, 8009) requis par Tomcat version 6.0 Server sur localhost sont déjà utilisés

Cette erreur est due au fait que Tomcat fonctionne peut-être en arrière-plan. Arrêtez donc ce serveur.

La solution est:

  1. Ouvrez la vue "console" (window-> show view-> Console)
  2. Puis arrêtez le serveur Tomcat.
  3. Puis ouvrez la vue "serveur" et démarrez le serveur, cela fonctionnera.

Merci!

12
Ashu Phaugat

Je n'ai aucune autre instance de Tomcat en cours d'exécution ni aucun autre processus utilisant "le port Tomcat" (dans mon cas, le port 8088) . Eclipse envoie le même message au démarrage de Tomcat:

.... Le serveur est peut-être déjà en cours d'exécution dans un autre processus ou un processus système utilise peut-être le port. Pour démarrer ce serveur, vous devez arrêter l'autre processus ou modifier le ou les numéros de port.

Je résous le problème de cette manière:

  • aller à bin de Tomcat par Prompt
  • lancer startup.bat
  • lancer shutdown.bat
  • démarrer Tomcat par Eclipse
10
giocorito

Ce que j’ai fait après avoir lu toutes les réponses suggérées et comme je sais que mon port était déjà utilisé. J'ai double-cliqué sur Tomcat sous l'onglet Serveurs dans Eclipse. Il a ouvert les informations générales, puis les informations de port. Vient de changer le port en conflit car le mien était le port 8009 (erreur signalée lors du démarrage du serveur). Je l'ai changé en 8008 et cela fonctionne bien. Faites un essai si le port modifié ne serait pas utilisé, le serveur démarrera.

6
DeVilCry2ME

Étape 1: _ {netstat -a -o -n et il affichera une liste de réseaux, recherchera l'adresse locale comme 127.0.0.1:8080 et notera le PID (éq 3624) 

C:\>netstat -a -o -n

Step2: _ {taskkill/F/PID 3624. Exécutez cette commande pour tuer ce processus.

C:\>taskkill /F /PID 3624

lien vers post

6
Sandeep Bhardwaj

Un moyen facile de résoudre votre problème:

Le serveur est peut-être déjà en cours d'exécution dans un autre processus ou un processus système utilise peut-être le port. Pour tuer ce port, procédez comme suit:

1) Téléchargez TCPView (seulement 285 Ko) à partir du lien suivant.

http://technet.Microsoft.com/en-in/sysinternals/bb897437.aspx

2) Extrayez le dossier et démarrez l’application TCPView.

3) Cliquez avec le bouton droit de la souris sur Java.exe (parce que 8009,8005 ports sont couramment utilisés par le processus Java) et sélectionnez l’option End Process.

cela arrêterait un autre processus facilement .. 

NOTE: L'exécution de TOMCATPATH ​​/ bin/shutdown.bat peut ne pas arrêter Tomcat lorsqu'il contient des démons ou des fichiers non gérés les fils. Dans ce cas, TCPView fonctionne correctement sans aucun problème.

4
shivadarshan

Sous Windows, utilisez la commandepour arrêter l'instance de Tomcat déjà en cours d'exécution et essayez de la réexécuter dans Eclipse. Cela peut fonctionner. 

net stop Tomcat7 

Ou vous pouvezchanger le port dans XMLdu serveur si vous voulez seulement exécuter sur d'autres ports. 

4
Gauranga

Voici une autre option à essayer si aucun des efforts ci-dessus n'a aidé. Vous utilisez peut-être Eclipse à partir d'un lecteur partagé (par exemple, H :). Si tel est le cas, déplacez/copiez le répertoire Eclipse complet vers C: et réessayez.

Mon Eclipse n'a pas pu ouvrir les ports du serveur Tomcat (avec l'erreur ci-dessus), ni même se connecter à Internet. J'ai aussi essayé un autre plugin Tomcat (Sysdeo) qui n'a pas réussi à ouvrir les ports.

Ce sont les options que j'ai essayées:

Vérifier et tuer d'autres instances de Tomcat

  • Dans la commande Invite, netstat -ano et vérifiez si d'autres processus utilisent les ports en conflit.
  • Trouvez le PID et tuez-le
  • Essayez de redémarrer le serveur.

Modifier les ports Tomcat dans Eclipse

  • Dans l'onglet Serveur Eclipse, double-cliquez sur l'instance Tomcat. Cela ouvrira l'onglet de configuration.
  • Sous Ports, modifiez les numéros de port. (par exemple, 18080).

Kill Java.exe et javaw

Voir mon autre réponse concernant Eclipse qui ne se connecte pas à Internet ( https://stackoverflow.com/a/37246087/4212710 ).

2
typoerrpr

Si vous utilisez Java EE prospective dans Eclipse et essayez de démarrer le serveur Tomcat dans Eclipse en mode débogage, vous obtiendrez de telles erreurs. Vous devez passer au débogage prospectif dans Eclipse. J'ai résolu mon problème comme ça. 

2
Jitendra

Pour les utilisateurs de Windows:

Accédez directement au Gestionnaire des tâches avec la combinaison de touches CTRL + MAJ + ÉCHAP.

Supprimez les processus "Java.exe" en cliquant avec le bouton droit de la souris et en sélectionnant "Fin de tâche".

2
Arif Acar

Parfois, si les ports ne sont pas libérés même après avoir tenté shutdown.bat comme l'a suggéré @BalusC, vous pouvez arrêter le processus javaw. Suivez les étapes suivantes:

  1. Cliquez sur le menu Démarrer et ouvrez "Windows PowerShell"
  2. Faites un clic droit avant d'ouvrir et sélectionnez "Exécuter en tant qu'administrateur"
  3. Entrez la commande ps. Vous pouvez voir une image comme suit: Powershell showing current proesses running

  4. Voir le numéro de processus du processus "javaw" .Le numéro de processus est le nombre le plus à droite dans les colonnes, j'ai mis en surbrillance dans le numéro de processus d'image de javaw par exemple. 

  5. Entrez la commande kill. javaw est tué et vous devez maintenant pouvoir exécuter le programme.

2
Tiny Jaguar

La solution la plus simple qui fonctionne pour moi est de supprimer mes applications Web déployées actuelles de Tomcat via l'onglet "Serveur". Une fois que je les enlève, le problème disparaît. Redéployez simplement votre projet en allant dans Exécuter en tant que> Exécuter sur le serveur.

1
Felipe Leão

Le problème survient souvent lorsque Apache Tomcat ne parvient pas à se terminer correctement, même si une instruction d'arrêt a été envoyée. Dans mon cas, avec Tomcat 8, cela se produit avec une régularité gênante. Heureusement, vous pouvez utiliser Windows PowerShell et la commande netstat pour créer un script simple afin de tuer le processus.

Le script PowerShell suivant analysera la sortie de netstat pour rechercher tout processus en cours d'écoute sur 127.0.0.1:8005, en extraire le PID, puis arrêter ce processus:

netstat -a -o -n `
 | select -skip 4 `
 | % {$a = $_ -split ' {3,}'; New-Object 'PSObject' -Property @{Original=$_;Fields=$a}} `
 | ? {$_.Fields[1] -match '127\.0\.0\.1\:8005$'} `
 | % {Write-Host "Killing PID" $_.Fields[4] "..."; taskkill /F /PID $_.Fields[4] }

Si votre server.xml configure Tomcat pour utiliser un port ou une adresse IP différents, modifiez l'expression régulière sur la quatrième ligne du script en conséquence.

Enfin, je dois signaler que la situation est meilleure sous Linux car vous pouvez demander à Tomcat de sauvegarder son PID dans un fichier au démarrage et d’utiliser un commutateur pour forcer l’arrêt, puis le script d’arrêt des systèmes 'nix la capacité de tuer le processus et le travail avec netstat n'est pas requise.

1
Xharlie

J'ai vérifié toutes les réponses mais informing only to kill PID.

Dans le cas où vous avez un accès au terminal partagé par tous, cela ne vous aidera pas ou peut-être n'avez-vous pas l'autorisation de tuer le PID.

Dans ce cas, ce que vous pouvez faire est: 

Double click on server

Go to Overview and change ports in Ports comme ceci:

 enter image description here

1
v8-E

La solution la plus simple

Commande à ligne unique pour tuer plusieurs ports:

kill $(lsof -t -i:8005,8080,8009) // 8005, 8080 and 8009 are the ports to be freed
0
Abhijith Sasikumar

Plusieurs ports (8005, 8080, 8009) requis par Tomcat vX.X Server sur localhost sont déjà utilisés

Pour vérifier si une autre instance de Tomcat en cours d'exécution ou un autre processus utilise les ports, vous pouvez utiliser:

netstat -b -a in command Invite pour Windows. Cela répertorie les ports utilisés et vous donne le fichier exécutable utilisant chacun. Pour ce faire, vous devez être dans le groupe d'administrateurs.

Vous pourriez obtenir quelque chose comme ça:

TCP 192.168.0.1:8009 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

TCP 192.168.0.1:8080 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

TCP 192.168.0.1:8005 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

Ouvrir le gestionnaire de tâches Ctrl+Shift+Escet kill Tomcat7.exe ou tout autre processus utilisant ces ports.

0
Zeeshan

C'est peut-être parce que vous n'arrêtez pas votre service Tomcat correctement. Pour ce faire, Ouvrez votre gestionnaire de tâches vous pouvez voir un service javaw.exe. Tout d'abord, arrêtez ce service. Maintenant, redémarrez votre Tomcat, cela fonctionne bien.

0
Ramki

Comment tuer un service Windows en utilisant PID - 

  1. ouvrez la commande Invite et tapez netstat -ano
  2. trouver le PID des ports utilisés, dans ce cas, il sera 8080, 8005,8009. Disons que les PID de ces ports sont 5760. 
  3. Maintenant, tapez taskkill /f /pid 5760 
  4. il fermera le PID et les ports seront disponibles. Vous pouvez maintenant démarrer Tomcat normalement par les services Windows ou par Eclipse lui-même.

Merci

tuer un service Windows bloqué à l’arrêt ou au démarrage

0
Pankaj Barnwal

Si le problème ci-dessus se produit dans un système d'exploitation Windows 7 ou 10, il se produit car Tomcat s'exécute en tant que service Windows. Pour arrêter l'exécution de Tomcat en tant que services Windows, ouvrez le Panneau de configuration Windows. Recherchez le service "Apache Tomcat" et arrêtez-le . Une autre méthode consiste à arrêter le processus exécuté sur le port 8080 à l'aide de cmd.

Ouvrez cmd en l'exécutant en tant qu'administrateur.

  1. C:\utilisateurs\nom d'utilisateur> netstat -o -n -a | findstr 0.0: 8080 
  2. TCP 0.0.0.0:8080 0.0.0.0:0 ÉCOUTE 2160.
  3. Le 2160 ci-dessus est l'ID de processus du processus exécuté sur le port 8080 et tuez ce processus à l'aide de la commande suivante
    C:\utilisateurs\nom d'utilisateur> taskkill/F/PID 2160 
  4. Allez à IDE et démarrez le serveur, il sera exécuté
0
Shreeram Reddy

Vous n'avez pas besoin de fermer votre IDE Eclipse. Votre Tomcat est probablement déjà en cours d'exécution. C'est pourquoi vous avez une erreur. 

ouvrir le répertoire Tomcat >> bin >> à partir du terminal de commande (Tomcat9 dans mon cas)

Entrez la commande 

./shutdown.sh

il fermera votre Tomcat en cours d'exécution 

 enter image description here

0
Kamran

Dans le cas de Windows, j’ai rencontré un nouveau problème .... arrêter le Tomcat à partir du dossier/bin ne libère pas immédiatement le port 8080. Il faut environ 5 à 10 minutes pour libérer le port. Après 10 minutes à nouveau si j'essaie d'exécuter mon projet Exécuter-> Exécuter sur le serveur .. cela permet de l'exécuter. 

Je ne suis pas sûr si ma compréhension est correcte!

0
Laxman

Votre Tomcat fonctionne probablement déjà. C'est pourquoi vous avez une erreur. J'ai eu le même problème avant. Je l'ai résolu très simplement:

  1. Redémarrez votre ordinateur
  2. Eclipse ouverte
  3. Courez votre Tomcat

C'est tout.

0
Purgoufr

Dans mon cas, cela me donnait l'erreur: Le port 8005 requis par Tomcat v8.0 Le serveur localhost est déjà utilisé

J'ai changé le port 8005 dans Apache-Tomcat-8.0.39\conf\server.xml mais les modifications ne sont pas reflétées. Ensuite, j'ai apporté ces modifications à Eclipse. en double cliquant sur le serveur et en modifiant le port de 8005 à 8006 et cela fonctionne.  enter image description here

Avant de mettre 8006, j'ai vérifié dans Windows Shell si ce port est disponible ou non. En exécutant la commande suivante:

netstat -a -o -n | findstr 8006
0
Tahir Akram

Référez-vous au blog suivant "comment tuer Tomcat sans avoir à redémarrer votre ordinateur"

http://stanicblog.blogspot.fr/2012/01/how-to-kill-Apache-Tomcat-without.html

J'espère que cela aidera quelqu'un à l'avenir.

0
Edmund Ng

Sous Windows, faites un clic droit sur la barre des tâches -> démarrer le gestionnaire de tâches -> processus puis cochez Java.exe ou javaw est en cours d’exécution, puis cliquez dessus et mettez fin au processus, puis redémarrez votre chat tom. serveur. 

  1. parfois, skype occupera le port 80, dans ce cas, modifiera les paramètres de skype et mettra 81 pour skype ou modifiera la configuration de Tomcat.
0
Vasundhara

Cela se produit lorsque d'autres personnes du projet utilisent également les mêmes numéros de port que vous utilisez! Le code va maintenant commencer à courir!

0
Shivendra

Sur Eclipse, effectuez une suppression brute du dossier de configuration de Tomcat sous le projet "Serveurs" .

0
giocorito