일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- #MSA
- message protocol
- Set
- Hystrix Read time out
- com.netflix.zuul.exception.ZuulException: Hystrix Readed time out
- #actuator
- mosquitto
- CORS policy: No 'Access-Control-Allow-Origin'
- #spring boot admin
- IOT
- xrdp
- ArrayList
- mariadb 한국어
- com.netflix.zuul.exception.ZuulException
- 원격
- mysql 한국어
- mstsc
- db utf8
- Access-Control-Allow-Origin
- backtracking
- emqx
- 크로스도메인
- mysql 다국어
- cors
- TreeMap
- java collection
- mqtt
- #spring boot
- HashMap
- mariadb 다국어
- Today
- Total
miin29na
[실행]쉘 스크립트에서 jar 파일 start | stop 본문
Spring Boot 로 만들어진 Java Application 을 excutable jar 로 export 함.
Linux 에서 Shell Script 로 실행하는 코드는 다음과 같음
Linux 에서 실행
start.sh/ stop.sh 위치 : home/
실행 jar 위치 : home/config-service/confiv-service.jar
home/ 에서
$./start.sh or $sh start.sh
start.sh
!/bin/bash
readonly CONFIG_NAME="config-service"
readonly CONFIG_SERVICE="/config-service.jar"
readonly CONFIG_PATH="-Dspring.config.location=file:./config/"
readonly PID_PATH="/config-service"
PROC_PID=".${PID_PATH}/${CONFIG_NAME}.pid"
get_status()
{
ps ux | grep ${CONFIG_NAME} | grep -v grep | awk '{print $2}'
}
echo "Starting ${CONFIG_NAME} ..."
PID=$(get_status)
if [ -n "${PID}" ]; then
echo "${CONFIG_NAME} is already running"
exit 0
fi
#nohup java -jar -XX:MaxPermSize=128m -Xms512m -Xmx1024m "${CONFIG_SERVICE}" > /dev/null 2>&1 &
nohup ./${CONFIG_NAME}${CONFIG_SERVICE} > /dev/null 2>&1 &
PID=${!}
if [ -n ${PID} ]; then
echo " - Starting..."
echo " - Created Process ID in ${PROC_PID}"
echo ${PID} > ${PROC_PID}
else
echo " - failed to start."
fi
stop.sh
#!/bin/bash
readonly CONFIG_NAME="config-service"
readonly CONFIG_SERVICE="/config-service.jar"
readonly CONFIG_PATH="-Dspring.config.location=file:./config/"
readonly PID_PATH="/config-service"
PROC_PID=".${PID_PATH}/${CONFIG_NAME}.pid"
echo "Stopping ${CONFIG_NAME}..."
DAEMON_PID=`cat "${PROC_PID}"
if [ "$DAEMON_PID" -lt 3 ]; then
echo "${CONFIG_NAME} was not running."
else
#kill $DAEMON_PID
kill -- -$(ps -o pgid= $DAEMON_PID | grep -o [0-9]*) // Child Process 까지 같이 Kill
rm -f $PROC_PID
echo " - Shutdown ...."
fi
TODO : 소스코드 편집기로 글 수정
TODO : 마이크로 서비스 Shell Script 추가하기
'IT_Infra > 배포' 카테고리의 다른 글
[배포]Jenkins 설정 + git 연동 + Maven Project (0) | 2018.11.06 |
---|