web-dev-qa-db-fra.com

Comment tuer Tomcat en l'exécutant depuis Eclipse?

J'utilise le Tomcat fourni avec votre téléchargement Eclipse (non, je ne souhaite pas télécharger et installer l'intégralité du Tomcat), et parfois il se bloque lors de l'arrêt ou du redémarrage, et le seul moyen de le faire fonctionner est redémarrer tout mon Eclipse. Je l'utilise sous Windows.

Existe-t-il un moyen de tuer le processus Tomcat (qui n'apparaît pas dans le gestionnaire de tâches)?

30
Carlos Sanchez

Il apparaît sous la forme javaw.exe dans le gestionnaire de tâches. Une alternative consiste à exécuter Tomcat/bin/shutdown.bat.

En ce qui concerne le problème de blocage, êtes-vous sûr que votre application Web ne génère pas de threads non gérés susceptibles de bloquer l'arrêt de Tomcat?

45
BalusC

Sous Windows, si vous connaissez le port que Tomcat écoute (ci-dessous, il s'agit du 8080), vous pouvez trouver le PID du processus Tomcat, puis le tuer depuis cmd :

> netstat -aon | find "8080"
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       2196
  TCP    [::]:8080              [::]:0                 LISTENING       2196
> taskkill /pid 2196 /f
  SUCCESS: The process with PID 2196 has been terminated.
12
Andrei Epure

J'utilise un meilleur moyen d'arrêter Tomcat lorsqu'il ne se trouve pas dans le gestionnaire de tâches.

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 sur Java.exe et sélectionnez l’option Terminer le processus.

cela arrêterait facilement votre Tomcat. Cet outil est très utile pour surveiller l’utilisation des ports.

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 de tels cas, TCPView fonctionne correctement sans aucun problème.

10
shivadarshan

Vous pouvez définir un délai d'attente au démarrage et à l'arrêt pour votre serveur Tomcat dans Eclipse. Si ces délais sont dépassés, Eclipse affichera un message vous demandant si vous souhaitez le tuer ou attendre.

Pour les définir, double-cliquez sur le nom du serveur dans l'onglet Serveurs. Ça va ouvrir une fenêtre comme celle-ci:

 Eclipse Tomcat settings

Il y a une section Timeouts sur le côté droit. Je règle le démarrage sur un jour (pour pouvoir déboguer le démarrage sans temporisation) et sur un arrêt de 30 secondes pour être généreux (généralement, cela peut être très court, car la plupart des applications peuvent survivre à un arrêt forcé sans problème).

1
squaregoldfish

Si vous utilisez Linux, essayez les étapes suivantes.

  1. Répertorier les processus Tomcat (par exemple, ps aux | grep catalina)
  2. Localisez les chaînes qui ressemblent à ceci: myname 2244 5.5 0.3 57020937 2110741 ? Sl Oct03 5160:01 /usr/lib/jvm/Java-1.8.0-<...>/bin/Java <...> org.Apache.catalina.startup.Bootstrap start
  3. Copier-coller tout ce qui est entre /usr/lib/jvm/<...> et <...>.Bootstrap
  4. Ajoutez stop à la fin de votre commande et exécutez-le.

Essentiellement, vous utiliseriez la même commande utilisée par Eclipse pour démarrer Tomcat et modifieriez le dernier argument pour arrêter Tomcat.

0
Alexander Pozdneev