You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2009/09/02 19:00:39 UTC
svn commit: r810611 - /tomcat/trunk/bin/catalina.sh
Author: markt
Date: Wed Sep 2 17:00:39 2009
New Revision: 810611
URL: http://svn.apache.org/viewvc?rev=810611&view=rev
Log:
Make the PID improvements Solaris friendly.
Add some more error checking to the stop command
Modified:
tomcat/trunk/bin/catalina.sh
Modified: tomcat/trunk/bin/catalina.sh
URL: http://svn.apache.org/viewvc/tomcat/trunk/bin/catalina.sh?rev=810611&r1=810610&r2=810611&view=diff
==============================================================================
--- tomcat/trunk/bin/catalina.sh (original)
+++ tomcat/trunk/bin/catalina.sh Wed Sep 2 17:00:39 2009
@@ -287,9 +287,11 @@
elif [ "$1" = "start" ] ; then
- if [ ! -z "$CATALINA_PID" -a -e "$CATALINA_PID" ]; then
- echo "PID file found. Is Tomcat still running? This start aborted"
- exit 1
+ if [ ! -z "$CATALINA_PID" ]; then
+ if [ -f "$CATALINA_PID" ]; then
+ echo "PID file ($CATALINA_PID) found. Is Tomcat still running? Start aborted."
+ exit 1
+ fi
fi
shift
@@ -327,9 +329,12 @@
shift
SLEEP=5
- if [ ! -z "$1" -a $1 -eq $1 &>/dev/null ]; then
- SLEEP=$1
- shift
+ if [ ! -z "$1" ]; then
+ echo $1 | grep "[^0-9]" > /dev/null 2>&1
+ if [ $? -eq 1 ]; then
+ SLEEP=$1
+ shift
+ fi
fi
FORCE=0
@@ -338,6 +343,19 @@
FORCE=1
fi
+ if [ ! -z "$CATALINA_PID" ]; then
+ if [ -f "$CATALINA_PID" ]; then
+ kill -0 `cat $CATALINA_PID` >/dev/null 2>&1
+ if [ $? -eq 1 ]; then
+ echo "PID file ($CATALINA_PID) found but no matching process was found. Stop aborted."
+ exit 1
+ fi
+ else
+ echo "\$CATALINA_PID was set ($CATALINA_PID) but the specified file does not exist. Is Tomcat running? Stop aborted."
+ exit 1
+ fi
+ fi
+
"$_RUNJAVA" $JAVA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
@@ -345,29 +363,36 @@
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
org.apache.catalina.startup.Bootstrap "$@" stop
- if [ ! -z "$CATALINA_PID" -a -e "$CATALINA_PID" ]; then
- while [ $SLEEP -ge 0 ]
- do
- if ! kill -0 `cat $CATALINA_PID` &>/dev/null; then
- rm $CATALINA_PID
- break
- fi
- if [ $SLEEP -gt 0 ]; then
- sleep 1
- fi
- let SLEEP=SLEEP-1
- done
+ if [ ! -z "$CATALINA_PID" ]; then
+ if [ -f "$CATALINA_PID" ]; then
+ while [ $SLEEP -ge 0 ]; do
+ kill -0 `cat $CATALINA_PID` >/dev/null 2>&1
+ if [ $? -eq 1 ]; then
+ rm $CATALINA_PID
+ break
+ fi
+ if [ $SLEEP -gt 0 ]; then
+ sleep 1
+ fi
+ if [ $SLEEP -eq 0 ]; then
+ if [ $FORCE -eq 0 ]; then
+ echo "Tomcat did not stop in time. PID file was not removed."
+ fi
+ fi
+ SLEEP=`expr $SLEEP - 1 `
+ done
+ fi
fi
if [ $FORCE -eq 1 ]; then
- if [ ! -z "$CATALINA_PID" -a -e "$CATALINA_PID" ]; then
- echo "Killing: `cat $CATALINA_PID`"
- kill -9 `cat $CATALINA_PID`
- rm $CATALINA_PID
+ if [ -z "$CATALINA_PID" ]; then
+ echo "Kill failed: \$CATALINA_PID not set"
else
- if [ -z "$CATALINA_PID" ]; then
- echo "Kill failed: \$CATALINA_PID not set"
- fi
+ if [ -f "$CATALINA_PID" ]; then
+ echo "Killing: `cat $CATALINA_PID`"
+ kill -9 `cat $CATALINA_PID`
+ rm $CATALINA_PID
+ fi
fi
fi
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org