我正在编写一个程序,在进程中创建多个线程。
如果进程被其他人使用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" );
}
} );
我在主方法中这样写,但是好像不起作用。