本文主要包括Java如何处理信号,直接上代码。

1. 实现SignalHandler

package com.chzhao.SignalTest;

import sun.misc.*;

@SuppressWarnings("restriction")
public class TestSignal implements SignalHandler { public void handle(Signal arg0) {
System.out.println(arg0.getName() + "is recevied.");
}
}

2.主函数部分

package com.chzhao.SignalTest;

import sun.misc.*;

public class App {
@SuppressWarnings("restriction")
public static void main(String[] args) {
TestSignal handler = new TestSignal();
Signal.handle(new Signal("TERM"), handler);
Signal.handle(new Signal("INT"), handler);
Signal.handle(new Signal("USR1"), handler);
Signal.handle(new Signal("USR2"), handler);
for (;;) {
System.out.println("do something");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

这里面注册了4个信号。

在Linux下支持的信号(具体信号kill -l命令查看):
SEGV, ILL, FPE, BUS, SYS, CPU, FSZ, ABRT, INT, TERM, HUP, USR1, USR2, QUIT, BREAK, TRAP, PIPE
在Windows下支持的信号:
SEGV, ILL, FPE, ABRT, INT, TERM, BREAK

最新文章

  1. RTTI: dynamic_cast typeid
  2. What is a watch descriptor
  3. 【ufldl tutorial】Convolution and Pooling
  4. 0511 backlog 项目管理
  5. 《Genesis-3D开源游戏引擎-FQA常见问题解答》2014年01月10号版本
  6. 第2组UI组件:TextView及其子类
  7. ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
  8. JAVA学习第一课(初识JAVA)
  9. Lucene.Net 2.3.1开发介绍 —— 二、分词(六)
  10. Atitit. 拉开拉链zip文件 最佳实践实施 java c# .net php
  11. laravel-1 安装.配置
  12. 学习笔记——Java内部类练习题
  13. python的MySQLdb模块在linux环境下的安装
  14. Java 8 新特性1-函数式接口
  15. 【java错误】Non-terminating decimal expansion; no exact representable decimal result
  16. iTop软件功能分析以及优缺点比较
  17. mmz-asio4delphi死链接的解决办法
  18. iOS 利用高德地图WMS服务
  19. Docker构建其它组件
  20. 《2019测试面试题-上海悠悠.pdf》

热门文章

  1. Kafka的Producer和Consumer源码学习
  2. USACO全部测试数据
  3. JDK,JRE,JVM区别与联系-理解与概括
  4. erl0010 - erlang查看ets 当前系统使用情况和当前配置上限
  5. SkinPP for VC
  6. AIX 第6章 指令记录
  7. js判断是否是pc
  8. 六:分布式事务一致性协议paxos的分析
  9. Linux/Unix shell 监控Oracle告警日志(monitor alter log file)
  10. LoopBar – Tap酒吧与无限滚动