티스토리 뷰
1. $ java -jar SpringbootSample.jar
- 위와 같이 실행하면 ssh 연결이 끊어질때 프로그램도 같이 종료된다.
2. $ java -jar SpringbootSample.jar &
- 백그라운드로 실행은 되지만 실행한 사용자가 로그아웃하면 프로그램은 역시 종료된다.
3. $ nohup java -jar SpringbootSample.jar &
- 사용자가 로그아웃해도 백그라운드로 실행된다.
3번으로 하면 실행은 되지만 프로그램 종료를 자동적으로 하기가 어렵다.
종료를 하기 위해서는 pid 를 알아야한다.
따라서 쉘스크립트를 작성하여 서비스에 등록하는 방법으로 문제를 최종적으로 해결하였다.
4. 쉘스크립트 작성 후 서비스 등록
- /etc/init.d/webService 로 등록하여 service webService start/stop/restart 명령을 사용
"#!/bin/sh
SERVICE_NAME=example
PATH_TO_JAR=/home/test/SpringbootSample.jar
PID_PATH_NAME=/var/run/example.pid
JAVA_OPTS=""-server -Dspring.profiles.active=dev""
case $1 in
start)
echo ""Starting $SERVICE_NAME ...""
if [ ! -f $PID_PATH_NAME ]; then
nohup java $JAVA_OPTS -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
echo $! > $PID_PATH_NAME
echo ""$SERVICE_NAME started ...""
else
echo ""$SERVICE_NAME is already running ...""
fi
;;
stop)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo ""$SERVICE_NAME stoping ...""
kill $PID;
echo ""$SERVICE_NAME stopped ...""
rm $PID_PATH_NAME
else
echo ""$SERVICE_NAME is not running ...""
fi
;;
restart)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo ""$SERVICE_NAME stopping ..."";
kill $PID;
echo ""$SERVICE_NAME stopped ..."";
rm $PID_PATH_NAME
echo ""$SERVICE_NAME starting ...""
nohup java $JAVA_OPTS -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
echo $! > $PID_PATH_NAME
echo ""$SERVICE_NAME started ...""
else
echo ""$SERVICE_NAME is not running ...""
fi
;;
esac
"
'Programming > Java&Spring' 카테고리의 다른 글
[Java] final 키워드 (0) | 2020.05.29 |
---|---|
[Java] String, StringBuffer, StringBuilder 차이 (0) | 2020.05.26 |
Maven과 Gradle (0) | 2019.11.23 |
[Spring] 생성자 주입을 사용해야 하는 이유, 필드인젝션이 안좋은 이유(+Lombok를 사용한 생성자 주입 방법) (0) | 2019.11.20 |
Lombok 사용 시 @JsonIgnore 동작안하는 문제 해결 (0) | 2019.11.18 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 템플릿
- java
- gradle
- 쉘스크립트
- final
- 자바
- 413
- stringbuffer
- 연동
- 토비의스프링
- mod_jk
- springboot
- 빌드도구
- 애플리케이션컨텍스트
- IoC
- Tomcat
- EmbededTomcat
- JsonIgnore
- shellscript
- DI
- Spring
- 빈팩토리
- 스프링프레임워크
- lombok
- jar 실행
- 스프링
- JsonProperty
- StringBuilder
- AOP
- apache
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함