본문 바로가기

Backend/Spring

Spring Boot 백그라운드 jar 중지 (kill pid)

백그라운드로 실행 중인 jar 프로세스를 종료할 때 직접 PID를 찾아서 kill합니다.

 

ps -ef | grep jar

 

kill 15235

 

관리가 용이하도록 애플리케이션을 시작할 때 pid 파일을 생성하고, 중지할 때는 pid 파일을 참고하도록 작업해볼게요.

application.yml

spring:
  pid:
    file: boot.pid

Application.java

@SpringBootApplication
public class DemoApplication {

  public static void main(String[] args) {
    SpringApplication application = new SpringApplication(DemoApplication.class);
    application.addListeners(new ApplicationPidFileWriter());
    application.run(args);
  }
}

 

작업은 요게 끝이에요.

배포 환경에서 jar 파일을 실행합니다.

시작

nohup java -jar demo.jar &

 

동일 경로에 boot.pid 파일이 생성될거에요.

확인해보면 pid가 적혀있을겁니다.

파일을 읽어서 중지해볼게요.

중지

kill -9 `cat boot.pid`

 

Shell Script 만들어서 위의 커맨드 적어두고 실행하면 됩니다.