#!/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