java动作监听退出程序_监听获取程序退出事件(Linux、Windows、Java、C++)

本文介绍了如何在Java和C++中监听程序退出事件,特别是在Windows和Linux环境下。在Java中,通过Runtime.getRuntime().addShutdownHook(Thread t)添加监控线程。在C++的Linux系统中,使用sigaction设置信号处理函数。而在Windows的C++程序中,通过SetConsoleCtrlHandler设置控制事件处理程序。
摘要由CSDN通过智能技术生成

为什么要监听程序退出事件就不用多说了,有各种各样的需求吧。主要是用于后台程序,比如要在程序退出的时候释放资源,关闭连接等等。

下面针对Java、C++在Windows、Linux下的处理分别进行介绍.

1.Java监听程序退出事件

Java本身是跨平台的,不必关系Windows还是Linux。具体做法如下:

通过Runtime.getRuntime().addShutdownHook(Thread t);添加一个监控线程,在该程序退出时会调用Thread的run方法。不得不说Java真的很方便。

我实现的一个例子。

public class RTMServer extends Thread{

private MessageServer msg_server = null;

private ThriftServer thrift_server = null;

public RTMServer()

{

this.setName("RTMServer");

}

public void start_server()

{

// 添加程序关闭监听线程

Runtime.getRuntime().addShutdownHook(this);

msg_server = new MessageServer();

msg_server.start();

thrift_server = new ThriftServer("ThriftServer");

thrift_server.start();//该方法会阻塞

}

/*<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值