6
프로그램이 갑자기 종료되거나 예외가 발생한 경우 로그를 기록해야합니다. 예를 들어 프로그램을 실행하는 중에 누군가 Ctrl+C
을 누르면 갑자기 종료되었다는 것을 기록해야합니다. 어떻게해야합니까?Java 프로그램이 갑자기 종료 될 때 어떤 작업을 수행 할 수 있습니까?
프로그램이 갑자기 종료되거나 예외가 발생한 경우 로그를 기록해야합니다. 예를 들어 프로그램을 실행하는 중에 누군가 Ctrl+C
을 누르면 갑자기 종료되었다는 것을 기록해야합니다. 어떻게해야합니까?Java 프로그램이 갑자기 종료 될 때 어떤 작업을 수행 할 수 있습니까?
이 경우 shutdown hook을 사용해 볼 수 있습니다.
이이것은 당신의 ^C
상황을 커버을 종료
Here은 디자인에 대한 참고 사항입니다.
원유 예 :
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("System was shutdown");
}
});
나는 그것이'SIGTERM'을 CTRL + C에서 실행 것이라고 생각하지만이 늘 그 수 –
내가 본 임베디드 시스템을 실행하는 프로그램을 죽일 수있는 다른 방법이 있다고 생각 실제로 전력 손실 이벤트를 기록합니다. 커다란 축전지와 꽤 작은 인터럽트 서비스 루틴이 필요하지만 끝낼 수 있습니다. –
또 다른 대안은 성공적인 종료를 기록하고 시작시 프로그램의 마지막 실행이 성공적으로 종료되었음을 확인하는 것입니다. –