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

Je reçois l’erreur suivante lorsque j’essaie d’exécuter un programme JSP simple sur Tomcat dans Eclipse.

Plusieurs ports (8005, 8080, 8009) requirejs 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 devrez 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?

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 vérifiez si vous obtenez la page d’accueil par défaut de Tomcat ou une page d’erreur spécifique à Tomcat 404. Les deux sont une preuve tout aussi valable que Tomcat fonctionne bien; Si ce n’était pas le cas, vous auriez alors reçu un message d’erreur de connexion HTTP spécifique au navigateur.

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

Ou, si vous l’avez réellement installé en tant que service Windows pour une raison quelconque (il s’agit là d’un outil spécialement conçu pour la production et inutile lors du développement), ouvrez le gestionnaire de services ( Démarrer> Exécuter> services.msc ) et arrêtez le service Tomcat. Si nécessaire, désinstallez le service Windows. Pour le développement, seul le fichier ZIP est suffisant.

Ou si votre intention est d’exécuter deux instances de Tomcat simultanément, vous devez alors configurer la deuxième instance pour qu’elle écoute sur différents ports. Consultez la documentation Tomcat pour plus de détails.

 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
  • redémarrez le tomcat dans Eclipse.
  • ne fonctionne que sous Linux (Ubuntu ..etc)

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

 netstat -ano 

Cela montrera tous les ports utilisés et l’ID de processus PID # du processus qui utilise ce port. Puis, appuyez sur Ctrl + Alt + Del et ouvrez le Gestionnaire des tâches pour voir quel est le processus.

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

 netstat -ano | grep 8010 

Si cela ne renvoie aucune ligne, vous allez bien.

Pour modifier le port, accédez à la vue Serveur, ouvrez server.xml et modifiez le port. Le mien a cette entrée:

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

Si vous êtes sur Mac, voici ce que j’ai fait.

Recherchez l’ID de processus s’exécutant sur ce port depuis le terminal, par exemple, 8080:

 lsof -i :8080 

et tuez-le:

 kill -9  

Étapes pour libérer le port qui est déjà utilisé pour exécuter le serveur Tomcat dans Eclipse

Par exemple, supposons que le port 8080 soit utilisé, nous devons libérer 8080 pour exécuter tomcat

Étape 1:

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

TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 3116

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

Nous devons tuer 3116 maintenant

Étape 2:-

C: \ Users \ nom d’utilisateur> taskkill / F / PID 3116

Étape 3: Accédez à Eclipse et lancez Server, il sera exécuté

Si Eclipse dit

Plusieurs ports (8005, 8080, 8009) requirejs par Tomcat v6.0 Server sur localhost sont déjà utilisés

Cette erreur vient du fait que tomcat est peut-être exécuté en arrière-plan, donc arrêtez d’abord ce serveur … suivez les détails ci-dessous.

La solution est:

  1. Ouvrez la vue “console” (window-> show view-> Console)
  2. Arrêtez ensuite le serveur Tomcat.
  3. Ouvrez ensuite la vue “serveur” et démarrez le serveur.

Merci!

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

Je n’ai pas d’autre instance de Tomcat en cours d’exécution sans autre processus utilisant “Tomcat port” (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 devrez arrêter l’autre processus ou modifier le ou les numéros de port.

Je résous le problème de cette façon:

  • aller à bin de tomcat par invite
  • lancer startup.bat
  • lancez shutdown.bat
  • démarrer tomcat par Eclipse

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 Servers dans eclipse et j’ai ouvert les informations de présentation, puis j’ai trouvé les informations de port. Juste changé le port en conflit car le mien était le port 8009 (erreur mentionnée lors du démarrage du serveur). Je l’ai changé à 8008 et ça marche bien. Essayez si le port modifié ne sera pas utilisé, le serveur démarrera.

Étape 1: netstat -a -o -n et cela fera apparaître une liste de réseau, 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 supprimer ce processus.

 C:\>taskkill /F /PID 3624 

lien pour poster

Sous Windows, utilisez la commande pour arrêter l’instance Tomcat en cours d’exécution et essayez de l’exécuter à nouveau dans eclipse, cela peut fonctionner.

 net stop tomcat7 

Vous pouvez également modifier le port en XML du serveur si vous souhaitez simplement exécuter certains autres ports.

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 285kb) à partir du lien suivant.

http://technet.microsoft.com/fr-in/sysinternals/bb897437.aspx

2) Extraire le dossier et lancer l’application TCPView .

3) Cliquez avec le bouton droit sur java.exe (car les ports 8009,8005 sont couramment utilisés par le processus java) et sélectionnez l’ option Fin du processus .

cela arrêterait facilement un autre processus.

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

Si vous êtes dans la perspective Java EE dans Eclipse et que vous 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.

Parfois, si les ports ne sont pas libérés même après avoir tenté de fermer shutdown.bat suggéré par @BalusC, vous pouvez tuer le processus javaw. Procédez comme suit:

  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 montrant les processus en cours

  4. Voir le numéro de processus du processus “javaw”. Le numéro de processus est le numéro le plus à droite dans les colonnes, j’ai mis en évidence dans le numéro de processus d’image de javaw par exemple.

  5. Entrez commande kill. javaw est tué et maintenant vous devez être capable de lancer le programme.

Voici une autre option à essayer si aucun des efforts ci-dessus n’a aidé. Vous utilisez peut-être Eclipse depuis un lecteur partagé (par exemple, H 🙂 . Si c’est le cas, déplacez / copiez le répertoire Eclipse entier 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 aussi.

Voici les options que j’ai essayées:

Vérifier et tuer d’autres instances Tomcat

  • Dans l’invite de commande, 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).

Tuez java.exe et javaw

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

Pour les utilisateurs de Windows:

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

Tuez les processus “java.exe” en faisant un clic droit et en sélectionnant “Fin de tâche”.

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

Si vous avez un access terminal partagé par tous, cela ne vous aidera pas ou vous n’avez peut-être pas la permission de tuer le PID .

Dans ce cas, vous pouvez faire ce qui suit:

Double click on server

Go to Overview and change ports in Ports comme celui-ci:

entrer la description de l'image ici

Sur Eclipse, supprimez brutalement le dossier de configuration Tomcat sous le projet “Serveurs”. Je l’ai essayé comme dernier espoir et cela a fonctionné.

Dans le cas de Windows, j’ai expérimenté de nouvelles choses. Arrêter le dossier tomcat de / bin ne libèrera pas immédiatement le port 8080. Il faut environ 5-10 minutes pour libérer le port. Après 10 minutes encore si j’essaie de lancer mon projet Run-> Run on server .. il permet de s’exécuter.

Je ne sais pas si ma compréhension est correcte!

Reportez-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 dans le futur.

La solution la plus simple pour moi consiste à 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. Il vous suffit de redéployer votre projet en allant sur Exécuter en tant que> Exécuter sur le serveur.

Cela se produit lorsque d’autres utilisateurs du projet utilisent également les mêmes numéros de port que vous utilisez! double-cliquez sur le serveur tomcat, remplacez les numéros de port par n’importe quel numéro 8585 ou autre. Le code va maintenant commencer à fonctionner!

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, en utilisant Tomcat 8, cela se produit avec une régularité ennuyeuse. Heureusement, vous pouvez utiliser Windows PowerShell et la commande netstat pour créer un script simple permettant de supprimer le processus.

Le script PowerShell suivant parsing la sortie de netstat pour rechercher tout processus qui écoute sur 127.0.0.1:8005 , extrait son PID et supprime 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érent, modifiez en conséquence l’expression régulière sur la quasortingème ligne du script.

Enfin, je tiens à souligner que la situation est meilleure sous Linux car vous pouvez demander à Tomcat d’enregistrer son PID dans un fichier au démarrage et utiliser un commutateur pour forcer l’arrêt, plus tard – le script d’arrêt pour ‘nix systems comporte déjà le la capacité de tuer le processus et le travail de recherche avec netstat n’est pas nécessaire.

Comment tuer un service Windows en utilisant PID –

  1. invite de commande ouverte et tapez netstat -ano
  2. trouver le PID des ports qui sont utilisés, dans ce cas, ce 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 avec les services Windows ou avec eclipse.

Merci

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

Plusieurs ports (8005, 8080, 8009) requirejs 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 invite de commande pour windows. Cela répertorie les ports utilisés et vous donne le fichier exécutable qui utilise chacun. Pour ce faire, vous devez être dans le groupe d’administration.

Vous pourriez obtenir quelque chose comme ceci:

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]

Ouvrez le gestionnaire de tâches Ctrl + Maj + Échap et tuez Tomcat7.exe ou tout autre processus utilisant ces ports.

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. Open Eclipse
  3. Exécutez votre Tomcat

C’est tout.

Dans Windows OS, faites un clic droit sur la barre des tâches -> démarrer le gestionnaire de tâches -> processus puis vérifiez que java.exe ou javaw est en cours d’exécution, puis cliquez dessus et terminez le processus puis redémarrez votre serveur tom cat.

  1. Dans certains cas, Skype occupera le port 80, dans ce cas, modifiez les parameters de Skype et mettez 81 pour Skype ou modifiez la configuration de Tomcat.

Si le problème ci-dessus se produit sous Windows 7 ou 10, le problème se produit car Tomcat s’exécute en tant que service Windows. Pour arrêter Tomcat en cours d’exécution 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 à tuer le processus exécuté sur le port 8080 en utilisant cmd.

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

  1. C: \ users \ username> netstat -o -n -a | findstr 0.0: 8080
  2. TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 2160.
  3. Le 2160 ci-dessus est l’ID de processus du processus s’exécutant sur le port 8080 et supprime ce processus à l’aide de la commande suivante
    C: \ users \ username> taskkill / F / PID 2160
  4. Aller à l’IDE et démarrer le serveur, il sera exécuté

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