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