프로세스에서 여러 스레드를 만드는 프로그램을 작성하고 있습니다.프로세스가 외부에서 종료 된 경우 처리합니다.
프로세스가 kill -9 신호 또는 Ctrl + C를 사용하여 외부에서 종료되는 경우 내 프로그램이 예를 들어 닫기 전에 조치를 취해야합니다. 프로세스의 상태를 데이터베이스에서 중단되도록 변경해야합니다.
어떻게 처리 할 수 있습니까?
addShutdownHook()
이 필요합니까? 또는 내 문제에 대한 다른 더 나은 해결책이 있습니까? 내 주요 방법 내부
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
logger.info("Running Shutdown Hook");
//call some method
System.out.println("Running Shutdown Hook");
}
});
을, 그러나 작동하지 않습니다
는 내가 추가했습니다.
종료 훅은 Kill -15와 Ctrl-C조차도 사용할 수 있습니다. 무의식적으로 kill -9를 사용하지 말고 올바르게 사용하는 한 예상대로 작동해야합니다. – caburse