易截截图软件、单文件、免安装、纯绿色、仅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中的数组

数组:表示定义同种数据类型的多个变量
1.一维数组的定义
          数组元素的数组类型[] 数组名=new 数组元素的数据类型[数组元素的个数]     或
          数组元素的数据类型 数组名[]=new 数组元� ......

java 中 set map table list 的总结

1.Collection List Set Map 区别记忆
这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。
 
有序否
允许元素重复否
Collection


List


Set
AbstractSet


HashSet
TreeSet
是(用二叉树� ......

java删除文件或文件夹的方法

java里面删除文件夹时候,如果该文件夹下有内容,即其下包含的有文件或文件夹,当你执行
java.io.File.delete(File file)方法时候,不能成功删除,那么如果我们想成功删除,该怎么办的,那就要先删除该文件夹下面的内容,代码如下:
/**
* 删除文件或文件夹
* @param file
*/
public static void deleteFile ......

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号