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)?
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?
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.
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.
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:
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).
Si vous utilisez Linux, essayez les étapes suivantes.
ps aux | grep catalina
)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
/usr/lib/jvm/<...>
et <...>.Bootstrap
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.