易截截图软件、单文件、免安装、纯绿色、仅160KB

java 捕捉信号(linux下的kill,ctrl+c)

import sun.misc.Signal;
import sun.misc.SignalHandler;
/***
* java信号处理demo
* @author jiang_qh
*
*/
public class SignalHandlerExample implements SignalHandler{
private SignalHandler oldHandler;
public void handle(Signal signal) {
System.out.println("Signal handler called for signal "
+ signal);
try {
signalAction(signal);
// Chain back to previous handler, if one exists
if (oldHandler != SIG_DFL && oldHandler != SIG_IGN) {
oldHandler.handle(signal);
}
} catch (Exception e) {
System.out.println("handle|Signal handler"
+"failed, reason " + e.getMessage());
e.printStackTrace();
}
}
public void signalAction(Signal signal) {

System.out.println("Handling " + signal.getName());
System.out.println("Just sleep for 5 seconds.");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
System.out.println("Interrupted: "
+ e.getMessage());
}
}
public static SignalHandler install(String signalName) {
Signal diagSignal = new Signal(signalName);
SignalHandlerExample instance = new SignalHandlerExample();
instance.oldHandler = Signal.handle(diagSignal, instance);
return instance;
}
public static void main(String[] args) {
//kill命令
SignalHandlerExample.install("TERM");
//ctrl+c命令
SignalHandlerExample.install("INT");
System.out.println("Signal handling example.");
try {
Thread.sleep(50000);
} catch (InterruptedException e) {
System.out.println("Interrupted: " + e.getMessage());
}
}
}

在linux上运行该程序。然后kill掉其pid,打印:
Signal handling example.
Signal handler called for signal SIGTERM
Handling TERM
Just sleep for 5 seconds.
[dispatch@loc


相关文档:

JAVA 开发内存溢出

GC是垃圾收集的意思(Garbage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。
一、内存溢出类型
1、java.lang.OutOfMemoryE ......

JAVA内存溢出解析

  原因有很多种,比如:
1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;
2.虚拟机不回收内存(内存泄漏);
    说白了就是程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。 内存溢出的问题要看业务和系统大小而定,对于某些系统可能内存 ......

jconsole 监控本机的所有 Java 应用和远程的应用

其实在 JDK 5 中已经新加入了这个功能了. 现在的 JDK 已经内置了对 VM 的监控功能. JDK 6 中这个工具变的更加好用了. 关于 JDK 5 中如何使用这个工具可以参考这里: http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html
jconsole 可 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号