Moteur de servlet Tomcat n'est pas en cours d'exécution, mais pid fichier existe. Que signifie ce message? Ai-je besoin de récupérer Tomcat si je l'obtenir?
J'ai fais un script shell pour redémarrer tomcat après un crash.
Je me demande j'ai besoin de traiter ce message dans mon script "moteur de servlet Tomcat n'est pas en cours d'exécution, mais pid fichier existe."
Ce qui ne signifie ce message?
Ai-je besoin de le prendre en compte comme un message d'erreur qui me forcerait à redémarrer Tomcat?
Mon script est comme suit:
#!/bin/bash
SERVICE=/etc/init.d/tomcat7
STOPPED_MESSAGE=" * Tomcat servlet container is not running."
PID_FILE_MESSAGE=" * Tomcat servlet engine is not running, but pid file exists."
if [ "`$SERVICE status`" == "$STOPPED_MESSAGE" ];
then
{
$SERVICE start
}
else
if [ "`$SERVICE status`" == "$PID_FILE_MESSAGE" ];
then
{
$SERVICE restart
}
fi
fi
Vous devriez être à la recherche à des codes de sortie, pas de texte de sortie.
Merci @jordanm, pouvez-vous poster un exemple de la façon dont nous pouvons regarder les codes de sortie?
Merci @jordanm
Merci @jordanm, pouvez-vous poster un exemple de la façon dont nous pouvons regarder les codes de sortie?
$SERVICE status; if (( $? == 0 )); then echo "running"; fi
. Si vous utilisez Linux, LSB définit les codes de sortie doivent être fournis: refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/...Merci @jordanm
OriginalL'auteur Rami | 2012-08-04
Vous devez vous connecter pour publier un commentaire.
Voici la définition de l' PID. Un fichier PID est un fichier qui contient un identificateur de processus. Si Tomcat, les scripts de démarrage sont gérés avec
CATALINA_PID
variable d'environnement définie correctement, alors le PID du Tomcat processus seront enregistrées dans un fichier au démarrage. Si le fichier existe lorsque vous essayez de démarrer Tomcat, les scripts se refuser à exécuter, car il n'a pas envie de tabasser une (peut-être en cours de validité) du fichier PID.Si vous êtes sûr que Tomcat n'est pas en cours d'exécution, il suffit de supprimer le fichier (il devrait être disponible par le biais de la
CATALINA_PID
variable d'environnement) et essayez à nouveau.Je partage @jordanm commentaire sur l'utilisation de codes de sortie au lieu de vérifier spécifiques (texte) sortie: la dernière version de Tomcat n'a même pas utiliser les messages que vous avez indiqué ci-dessus, il est donc très fragile.
Si vous voulez une auto-re-démarrage du service, compte tenu de la recherche à jsvc, ce qui en fait livré avec Tomcat binaires sous forme de code source.
S'il vous plaît re-lire ma réponse: il apporte des réponses à ces deux questions, vous (re)poser dans votre commentaire.
Merci Christophe, je m'excuse pour ma réaction rapide.
OriginalL'auteur Christopher Schultz
J'ai eu le même problème lorsque je redémarre le serveur tomcat. J'ai aussi trouvé "
java.net.BindException
: Impossible d'assigner une adresse demandée" dans cataline.hors de fichier journal.Soultion: Tuer tous les java pid en utilisant
killall -9 java
le redémarrage de l' tomcat de nouveau.Pour moi le problème a été résolu
OriginalL'auteur Vijayaanand Maduraiveeran