Здравствуйте, уважаемые. Собственно, вопрос вот в чем.
Скачал себе tomcat6.0.20 бинарный. Все это дело скопировал в /usr/local/apache-tomcat-6.0.20
Проверил- работает. Томкат запускается(bin/startup.sh), localhost:8080 отвечает. Скрипт bin/shutdown.sh завершает его работу.
Следующий шаг- нужно прописать его в автозагрузку. Иду в папку /etc/init.d и создаю скрипт tomcat6:
export JAVA_HOME=/usr/lib/jvm/java-6-sun/bin/java
export JRE_HOME=/usr/lib/jvm/java-6-sun/jre
export CLASSPATH=/usr/share/java
TOMCAT_NAME=Tomcat-6.0.20
BASEDIR=/usr/local/apache-tomcat-6.0.20
PID=$CATALINA_PID
tomcat_start () {
echo "Sarting $TOMCAT_NAME"
"$BASEDIR"/bin/startup.sh
}
tomcat_stop () {
echo "Stopping $TOMCAT_NAME"
"$BASEDIR"/bin/shutdown.sh
}
case "$1" in
start|stop)
tomcat_${1}
;;
restart)
tomcat_stop
tomcat_start
;;
status)
echo "This function isn't working yet $PID"
# if [ -n "$PID" ]; then
# echo "$TOMCAT_NAME is running (pid $PID)."
# exit 0
# else
# echo "$TOMCAT_NAME is not running."
# exit 1
# fi
;;
esac
Затем создаю символьную ссылку в папку /etc/rc5.d командой:
sudo ln -s /etc/init.d/tomcat6 /etc/rc5.d/S9tomcat6
Все красиво
Все работает. Но! Я в скрипте закомментировал модуль status потомучто мне так и не удалось его реализовать. Переменной PID ничего не присваивается и соответственно она постоянно в значении FALSE
В файле bin/catalina.sh, который как раз запускается скриптом startup.sh есть вот такие строчки:
# -----------------------------------------------------------------------------
# Start/Stop Script for the CATALINA Server
#
# Environment Variable Prequisites
#
# CATALINA_HOME May point at your Catalina "build" directory.
#
# CATALINA_BASE (Optional) Base directory for resolving dynamic portions
# of a Catalina installation. If not present, resolves to
# the same directory that CATALINA_HOME points to.
...
# CATALINA_PID (Optional) Path of the file which should contains the pid
# of catalina startup java process, when start (fork) is used
...
# $Id: catalina.sh 750920 2009-03-06 14:43:19Z markt $
# -----------------------------------------------------------------------------
Отсюда я и сделал вывод, что после запуска catalina.sh переменной CATALINA_PID (глобальной для всей системы) присваивается PID tomcat сервера.
Подскажите пожалуйста, уважаемые знатоки, где я не прав?