AWS(Amazon Web Services)

스프링부트 jar 무중단 배포하기(백그라운드 실행)& 서버종료하기

dev.mk 2022. 9. 18. 22:47
반응형

보통 EC2 우분투에 프로젝트.jar 파일을 파일질러라로 업로드하고 해당경로에서

아래의 명령어를 실행하면 익숙한 로그와 함께 프로젝트가 실행된다.

java -jar 파일명.jar

하지만 ssh를 종료하면 서버도 종료된다.

 

그래서 ssh를 종료해도 백그라운드 실행 시켜야 한다.

 

nohup (no hangup) 커맨드를 사용하면 ssh 접속이 끊긴 이후에도 백그라운드에서 jar가 계속 돌아간다.

nohup java -jar 프로젝트.jar &

명령어를 실행하면

 nohup: ignoring input and appending output to 'nohup.out'

메세지가 나온다. (정상)

 

서버를 종료할때는 nohup 프로세스의 pid를 강제로 죽이거나

8080포트를 사용중인 pid를 죽이면 된다.

 

1.  nohup이 실행되고 있는 프로세스 찾아서 kill하기

 ps -ef

nohup으로 무중단 배포했던 jar가 보인다. pid는 2919015

kill -9 2919015

kill명령어로 강제종료후 ps -ef하면 안보인다.

 

 

2. 실행중인 8080 찾아서 kill 하기

netstat -tnlp

 

사용중인 8080 포트 확인

그럼 실행중인 8080포트가 보이고 2919015/java란 pid가 보인다

마찬가지로 kill 명령어로 강제종료시킨다.

kill -9 2919015
반응형