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
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
|