이전 블로그에서 java -jar *.jar 명령어를 통해 프로젝트를 실행해보았습니다.
하지만 실행을 종료하거나 리눅스를 종료하면 서버도 종료가 되는단점이 있었습니다.
이제 nohup을 사용해 리눅스를 종료해도 서버가 돌아가게 하겠습니다.
nohub이란?
리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도
지속적으로 동작 할 수 있게 해주는 명령어 입니다.
nohup을 설치합니다.
sudo apt install nohup
설치가 되었으니 실행해 보겠습니다.
nohup java -jar *.jar
하지만 이상태에서 리눅스를 종료하면 서버가 유지되지 않습니다.
그 이유는 포그라운드로 실행했기 때문입니다.
포그라운드
입력한 명령어 실행이 결과가 나올 때 까지 기다리는 방식이 바로 포그라운드 방식 입니다.
포그라운드 프로세스라고 말하며
작업 제어 측면에서는 포그라운드 작업이라고 말합니다.
백그라운드
백그라운드 기능은 프로세스가 실행되는 동안 다른 프로세스가 실행 가능합니다.
하나의 쉘에서 여러 개의 프로세스를 동시에 실행할 수 있는 방식입니다.
뒤에 &를 붙여주면 백그라운드 실행이 됩니다.
nohup java -jar *.jar &
nohup은 nohub.out에 자동으로 로그를 남깁니다!
cat nohup.out
로그가 확인됩니다!
실시간 로그 추적하기
tail -f 명령어를 통해 실시간으로 확인할 수 있습니다.
mylog.out에 로그 저장하기
nohup java -jar *.jar > mylog.out &
tail -f nohup.out
'AWS' 카테고리의 다른 글
crontab 배포 스크립트로 스프링 서버 재시작하기 (1) | 2023.11.11 |
---|---|
nohup 배포 문제점, crontab을 이용한 해결 (0) | 2023.11.11 |
타임존 변경 및 종료스크립트 (0) | 2023.11.11 |
표준 출력, 에러 로그 파일 분리하기 (0) | 2023.11.11 |
AWS ec2를 사용해 프로젝트 배포! (0) | 2023.11.11 |