nugawiki

./categories/server

Tomcat 기동·재시작 스크립트

업데이트 2026-07-21 조회수

엔진 분리(멀티 인스턴스) 환경용 종료 후 기동 스크립트.

#!/bin/sh
# INSTANCE_NAME 비우면 CATALINA_HOME 단일 인스턴스
export INSTANCE_NAME=
export CATALINA_HOME=/usr/local/tomcat8

########## 종료 ##########
if [ -z "${INSTANCE_NAME}" ]; then
  tomcat_pid() {
    ps aux | grep org.apache.catalina.startup.Bootstrap \
      | grep "catalina.base=${CATALINA_HOME}" | grep -v grep | awk '{ print $2 }'
  }
else
  tomcat_pid() {
    ps aux | grep org.apache.catalina.startup.Bootstrap \
      | grep "${INSTANCE_NAME}" | grep -v grep | awk '{ print $2 }'
  }
  export CATALINA_BASE=/home/${INSTANCE_NAME}
fi

pid=$(tomcat_pid)
echo "killing pid: $pid"
[ -n "$pid" ] && kill -9 $pid
echo "Tomcat 종료"

########## 기동 ##########
if [ -z "${INSTANCE_NAME}" ]; then
  ${CATALINA_HOME}/bin/startup.sh
else
  export CATALINA_BASE=/home/${INSTANCE_NAME}
  ${CATALINA_BASE}/bin/startup.sh
fi
echo "Tomcat 기동 완료"

kill -9는 강제 종료. 가능하면 shutdown.sh 후 대기하는 편이 안전.

./comments