【发布时间】:2017-05-09 06:10:23
【问题描述】:
我正在编写一个程序,我在一个进程中创建多个线程。
如果进程被某人使用 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" );
}
} );
在我的main方法里面,但是好像不行。
【问题讨论】:
标签: java multithreading kill-process shutdown-hook sigkill