mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
115 lines
2.8 KiB
Bash
Executable File
115 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
# cloudstack-management This shell script takes care of starting and stopping Tomcat
|
|
#
|
|
# chkconfig: - 80 20
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: tomcat6
|
|
# Required-Start: $network $syslog
|
|
# Required-Stop: $network $syslog
|
|
# Default-Start:
|
|
# Default-Stop:
|
|
# Description: Release implementation for Servlet 2.5 and JSP 2.1
|
|
# Short-Description: start and stop tomcat
|
|
### END INIT INFO
|
|
#
|
|
# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot
|
|
# - heavily rewritten by Deepak Bhole and Jason Corley
|
|
#
|
|
|
|
if [ -r /etc/rc.d/init.d/functions ]; then
|
|
. /etc/rc.d/init.d/functions
|
|
fi
|
|
if [ -r /lib/lsb/init-functions ]; then
|
|
. /lib/lsb/init-functions
|
|
fi
|
|
|
|
|
|
NAME="$(basename $0)"
|
|
export SERVICE_NAME="$NAME"
|
|
stop() {
|
|
SHUTDOWN_WAIT="30"
|
|
count="0"
|
|
if [ -f /var/run/${NAME}.pid ]; then
|
|
pid=`cat /var/run/${NAME}.pid`
|
|
kill $pid &>/dev/null
|
|
until [ "$(ps --pid $pid | grep -c $pid)" -eq "0" ] || \
|
|
[ "$count" -gt "$SHUTDOWN_WAIT" ]
|
|
do
|
|
sleep 1
|
|
let count="${count}+1"
|
|
done
|
|
if [ "$(ps --pid $pid | grep -c $pid)" -eq "0" ]; then
|
|
log_success_msg "Stopping ${NAME}:"
|
|
rm -f /var/run/${NAME}.pid
|
|
rm -f /var/lock/subsys/${NAME}
|
|
else
|
|
log_failure_msg "Stopping ${NAME}:"
|
|
fi
|
|
else
|
|
echo "Cannot find PID file of ${NAME}"
|
|
log_failure_msg "Stopping ${NAME}:"
|
|
fi
|
|
}
|
|
|
|
set_ulimit() {
|
|
fd_limit=`ulimit -n`
|
|
if [ "$fd_limit" != "4096" ]; then
|
|
user=`whoami`
|
|
if [ $user == "root" ]; then
|
|
ulimit -n 4096
|
|
fi
|
|
fi
|
|
}
|
|
|
|
handle_pid_file() {
|
|
if [ "$1" -ne 0 ] && [ "$1" -ne 3 ]; then
|
|
echo "The pid file locates at /var/run/${NAME}.pid and lock file at /var/lock/subsys/${NAME}.
|
|
Starting ${NAME} will take care of them or you can manually clean up."
|
|
fi
|
|
}
|
|
|
|
start() {
|
|
source $(dirname $0)/tomcat.sh
|
|
}
|
|
|
|
# See how we were called.
|
|
case "$1" in
|
|
status)
|
|
status ${NAME}
|
|
RETVAL=$?
|
|
handle_pid_file $RETVAL
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
restart)
|
|
stop
|
|
set start
|
|
set_ulimit
|
|
start
|
|
;;
|
|
*)
|
|
set_ulimit
|
|
start
|
|
esac
|
|
|
|
exit $RETVAL
|