Language/Spring Framework

SpringBoot Jar 리눅스 백그라운드 실행 쉘 스크립트

과일가게 개발자 2020. 7. 13. 10:07
반응형

SpringBoot를 이용하여 개발을 하다보면 별도의 Tomcat을 설치하지 않고 탑재된 tomcat을 이용하여 서비스를 올릴때가 종종 있다.
리눅스에서는 터미널 세션이 끊기더라도 계속 실행이 되게 하기 위해 백그라운드로 실행시킬 필요가 있는데, 이러한 시작/종료 부분을 쉘 스크립트로 만들어두면 명령어를 일일이 입력할 필요가 없으므로 편하게 사용이 가능하다.

 

 

1. start.sh 파일을 생성
[dev@localhost ~]$ vi start.sh

 

2. 아래 내용 추가 후 저장. 운영포트 8080, 프로파일 dev
#!/bin/bash
nohup $JAVA_HOME/bin/java -Dserver.port=8080 -Dspring.profiles.active=dev -jar /home/dev/spring/test_api-0.0.1-SNAPSHOT.jar &

 

3. 실행 권한 주기
[dev@localhost ~]$ chmod 755 start.sh

 

4. stop.sh 파일 생성
[dev@localhost ~]$ vi stop.sh

 

5. 아래 내용 추가 후 저장
#!/bin/bash

ps -ef | grep "test_api" | grep -v grep | awk '{print $2}' | xargs kill -9 2 >/dev/null
if [ $? -eq 0 ];then
    echo "stop success"
    exit 0
fi

echo "Not Running"

exit 0

 

6. 실행 권한 주기
[dev@localhost ~]$ chmod 755 stop.sh