반응형
빌드
먼저 Git을 통해 받은 프로젝트 폴더로 이동하여, build를 진행한다.
./gradlew build
build가 완료되었다
실행
java -jar build/libs/demo-0.0.1-SNAPSHOT.jar
정상적으로 잘 실행되었다.
하지만 이상태에서 터미널을 종료하면 실행중인 java도 같이 종료되어 버린다!
무중단 서비스를 위해 nohup을 이용하여 백그라운드에서 실행시키자
nohup
nohup java -jar build/libs/demo-0.0.1-SNAPSHOT.jar & > /dev/null
아까 실행시킬 때 수행했던 명령어 앞에 nohup을 붙이고, 뒤에 &을 붙이면 백그라운드에서 실행이 되어, 터미널을 종료해도 EC2상에서는 계속 돌아간다, 뒤에 > /dev/null은 log를 저장하지 않겠다는 뜻이고, 설정하지 않으면 nohup.out으로 저장되는 것으로 알고있다
nohup으로 실행시켜보았다, 출력되는 값은 PID 인 듯 하다
API 테스트를 해보니 잘 동작하는 것이 확인된다.
프로세스 종료
이제 nohup으로 백그라운드에서 실행중인 프로세스를 종료시켜보자!
1. PID를 알고있다면
sudo kill -9 {PID}
명령어를 이용하여 프로세스를 중단시키면 되고,
2. PID를 잊어버렸다면
ps -ef | grep {실행시켰던 파일이름}
에서 grep 뒤엔, 아까 실행시켰던 파일의 일부를 입력하여 찾거나
예) ps -ef | grep demo-0.0.1-SNAPSHOT.jar
-> PID는 1676
ps
실행시켰던 폴더에서 process목록을 출력하여 java에 해당하는 PID를 찾아서 중단시키면 된다.
java에 해당하는 PID는 1676인 것을 확인하고, kill명령어로 중단시켰다.
반응형