j2se 工程,通过信号量监听来关闭应用,避免kill -9 的强杀
来源:互联网 发布:手机性能监控软件 编辑:程序博客网 时间:2024/06/09 22:29
j2SE工程,我们通常在main 方法中启动spring 容器来,来启动项目(对于spring 容的的启动,这里我们不关心,或者你用的不是spring,或者你直接是一些简单的逻辑).但是我们应用如何关闭呢。通常情况下,kill -9 进程id 是我们一般的做法。但是有时候,一些资源,或者逻辑需要等待处理完成之后再退出。。
直接上码:
1、我们新建一个关闭的监听信号量监听服务:
import sun.misc.Signal;import sun.misc.SignalHandler;public class ShutDown implements SignalHandler {@Overridepublic void handle(Signal arg0) {if (App.SIGNAL_NAME.equals(arg0.getName())) {// TODO 释放系统资源destory(),close()System.out.print("...... closed!");System.out.print("#######################system.exit-0#########################");System.exit(0);}}}
这里实现了SignalHandler接口,在handle方法实现具体的处理,一般我们都在里面处理资源释放,spring容器关闭。。。。
2、然后在程序入口,注册该监听,才能生效
import sun.misc.Signal;/** * APP */public class App { public static final String SIGNAL_NAME="USR2"; // linux 中用户自定义的信号量。 kill -12 触发 public static void main( String[] args ) { // TODO 应用逻辑 // 添加linux 信号量的监听,处理应用关闭的操作 ShutDown shutdown=new ShutDown(); Signal.handle(new Signal(SIGNAL_NAME), shutdown); }}
ok,至此处理完成。
阅读全文
0 0
- j2se 工程,通过信号量监听来关闭应用,避免kill -9 的强杀
- 通过log中的kill reson来定位应用是被谁杀掉的
- 通过OnScrollListener来监听RecyclerView的位置
- 通过tomcat的服务来关闭tomcat
- java通过pid来kill进程
- java通过pid来kill进程
- java通过pid来kill进程
- linux下kill的信号量列表
- Java监听应用的启动与关闭实例
- 安卓系统监听应用开启和关闭的实现
- J2SE的知识点之(监听适配器)
- 尽量避免直接使用 kill -9
- 关闭浏览器的监听
- kill用法详细解释(特别是信号量9的使用以及理解)
- kill用法详细解释(特别是信号量9的使用以及理解)
- kill用法详细解释(特别是信号量9的使用以及理解)
- kill用法详细解释(特别是信号量9的使用以及理解)
- android学习,通过监听焦点,来进行类似监听软键盘弹出隐藏的功能
- 多重继承+定制类(str/iter/getitem/getattr/call/枚举类/type创建类/元类)
- CSUST:超级快速幂(费马小定理)
- Java集合总结
- ZOJ-3537 Cake
- 【UGUI】Unity 5.2.1 UGUI 控件使用
- j2se 工程,通过信号量监听来关闭应用,避免kill -9 的强杀
- 终于在csdn 开通博客了
- Video Analysis 相关领域解读之Video Captioning
- webuploader 图片上传插件 配合着表单提交 ajax方式
- Java学习笔记(二)——类和对象
- Linux编程环境
- 2017最新搭建hustoj网站
- 字符串的包含
- mysql如何实现oracle的start with