博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java虚拟机关闭钩子ShutdownHook
阅读量:4281 次
发布时间:2019-05-27

本文共 426 字,大约阅读时间需要 1 分钟。

java程序部署在服务器上时,Ctrl+C关闭,或者service Servicename stop关闭时(不包括 kill -9 操作),会有一些关闭资源等操作来不及执行。

这时为了程序安全退出,我们可以使用Shutdown Hook来实现。

使用方法:

比如,添加一个方法

public void start() {

     Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { 
            @Override 
            public void run() 
            { 
                for(String ip:channelMap.keySet()) {
                    clear(ip);
                }
                logger.error("unsafe shutdown,Execute Hook.....");
            } 
        }));
 }

程序启动时就调用这个start(),当程序要关闭时就会执行这里定义的线程,把要执行的操作加到这个线程的run方法里即可。

转载地址:http://bffgi.baihongyu.com/

你可能感兴趣的文章
驱动 (3.2) copy_to_user
查看>>
getopt 解析
查看>>
文章标题
查看>>
linux前后台切换
查看>>
nmap
查看>>
uboot执行顺序main_loop
查看>>
uboot编译内容详解
查看>>
uboot Makefile 分析
查看>>
uboot网络验证
查看>>
烧写uboot
查看>>
QT安装
查看>>
QtCreator介绍
查看>>
QT工程实例
查看>>
pkg-config
查看>>
Linux内核分析-1/反汇编(堆栈)
查看>>
Linux内核分析-2/时间片轮转多道程序
查看>>
Linux内核分析-4/5/系统调用
查看>>
Linux内核分析-6/进程fork
查看>>
Linux内核分析-7/程序的装载(基于fork)
查看>>
Linux内核分析-8/进程的调度
查看>>