Tomcat-servlet-engine nicht läuft, aber pid-Datei existiert. Was bedeutet diese Meldung? Muss ich wiederherstellen Tomcat, wenn ich es bekommen?
Ich versuche ein shell script zum restart von tomcat nach Absturz.
Ich Frage mich, muss ich diese Nachricht verarbeiten, in meinem Skript "Tomcat-servlet-engine nicht läuft, aber pid-Datei existiert."
Was bedeutet diese Meldung?
Muss ich darauf Rücksicht nehmen, wie eine Fehlermeldung, die mich zwingen zu starten Sie Tomcat neu?
Mein script ist wie folgt:
#!/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
Sie sollten suchen, bei exit-codes, nicht als text ausgegeben.
Danke @jordanm, kannst du ein Beispiel dafür, wie wir uns das exit-codes?
Danke @jordanm
Danke @jordanm, kannst du ein Beispiel dafür, wie wir uns das exit-codes?
$SERVICE status; if (( $? == 0 )); then echo "running"; fi
. Wenn Sie mit Linux arbeiten, LSB definiert, die exit-codes bereitgestellt werden sollten: refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/...Danke @jordanm
InformationsquelleAutor Rami | 2012-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist die definition von PID. Eine PID-Datei ist eine Datei, die enthält eine Prozess-id. Wenn Tomcat startup-Skripte ausgeführt werden, die mit
CATALINA_PID
Umgebungsvariable richtig gesetzt, dann wird die PID des Tomcat-Prozess wird aufgezeichnet, um eine Datei nach dem Start. Wenn die Datei vorhanden ist, wenn Sie versuchen, starten Sie Tomcat, der Skripte wird sich weigern zu laufen, weil Sie es nicht will clobber eine (möglichst gültige) PID-Datei.Wenn Sie sicher sind, dass Tomcat nicht läuft, löschen Sie einfach die Datei (es sollte über das
CATALINA_PID
- Umgebungsvariable) und versuchen Sie es erneut.Teile ich @jordanm Kommentar über die Verwendung von exit-codes anstelle der überprüfung für bestimmte (text -) Ausgabe: die neueste version von Tomcat noch nicht einmal die Nachrichten, die Sie haben oben gezeigt, es ist also sehr fragil.
Wenn Sie möchten, eine selbst-neu ab service, in Anbetracht Blick auf jsvc, die eigentlich Schiffe mit Tomcat binaries in den Quellen.
Bitte Lesen Sie nochmals meine Antwort: es liefert die Antworten auf die beiden Fragen, die Sie (re-)Fragen in Ihrem Kommentar.
Danke Christopher, entschuldigen Sie mich für meine schnelle Reaktion.
InformationsquelleAutor Christopher Schultz
Hatte ich dasselbe problem, wenn ich starten Sie den tomcat. Auch ich fand "
java.net.BindException
: angeforderte Adresse kann Nicht zugewiesen" in cataline.aus log-Datei.Soultion nutzen: Töten alle java-pid mithilfe
killall -9 java
starten Sie den tomcat wieder.Für mich problem gelöst wurde
InformationsquelleAutor Vijayaanand Maduraiveeran