You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.9 KiB
Bash

#!/bin/bash
# 런처용 .sh 파일은 755 권한을 주어야 합니다. (명령어 : chmod)
# java 실행 경로가 맞는지 확인하시기 바랍니다. (명령어 which java)
APP_NAME="북촌 통행제한 관리 시스템"
APP_HOME=/applications/fims
APP_WAR=fims-chongno.war
JAVA_HOME=/usr/local/java/zulu17.54.21
if [ $# == 0 ]
then echo "옵션을 지정하세요: 쉘파일명.sh [start | stop | list]"; exit;
fi
# 쉘이 csh 일 경우 문법 : setenv LANG ko_KR.utf8
# 쉘이 bash 일 경우 문법 : export LANG=ko_KR.utf8
# 운영체제가 AIX일 경우 ko_KR.utf8가 아닌 ko_KR.IBM-utf8로 설정
export LANG=ko_KR.utf8
# 위의 LANG을 설정하여도 한글이 셋팅되지 않을 때 아래 LC_ALL 주석을 해제하여 기동하세요
#export LC_ALL=ko_KR.euckr
#export LC_ALL=ko_KR.utf8
# 디렉토리 이동
cd "$APP_HOME"
# 커맨드라인 옵션별 분기
case "$1" in
[Ss]tart)
echo "$APP_NAME 프로세스를 시작합니다."
app_process=$(ps -ef | grep "$APP_WAR" | grep -v grep | wc -l)
if [ "$app_process" -gt 0 ]
then
echo "$APP_NAME 프로세스가 이미 기동 중입니다."
else
{
cd "$APP_HOME" || exit
rm logs/*.log
nohup "$JAVA_HOME/bin/java" -Dspring.profiles.active=prod -jar "$APP_HOME/$APP_WAR" > /dev/null &
echo "$APP_NAME 프로세스가 시작되었습니다."
}
fi
cd "$APP_HOME" || exit
;;
[Ss]top)
echo "$APP_NAME 프로세스를 종료합니다."
app_process=$(ps -ef | grep "$APP_HOME/$APP_WAR" | grep -v grep | wc -l)
if [ "$app_process" -gt 0 ]
then
{
kill_pid=$(ps -ef | grep "$APP_HOME/$APP_WAR" | grep -v grep | awk '{print $2}')
kill "$kill_pid";
echo "$APP_NAME 프로세스가 종료되었습니다."
}
fi
;;
[Ll]ist)
echo "PID PPID STIME COMMAND"
for proc_name in $APP_WAR
do
ps -ef | grep "$proc_name" | grep -v grep | grep -v awk | sort
done
;;
esac