相关疑难解决方法(0)

用Java捕获SIGINT

在不使用JNI的情况下,在java中捕获kill信号的最佳方法是什么.我确实发现了sun.misc.Signal和sun.misc.SignalHandler以及在将来的版本中被删除的可能性的警告.

使用JNI调用ac lib是我唯一的选择吗?

java signals

38
推荐指数
2
解决办法
3万
查看次数

程序在java中退出时调用函数

我想在每次用户退出程序时保存程序设置.所以当用户退出程序时我需要一种方法来调用函数.我怎么做?

我使用的是Java 1.5.

java events

14
推荐指数
2
解决办法
2万
查看次数

将信号发送到正在运行的JVM

我正在使用自定义信号处理程序来捕获自定义java守护程序中的TERM,ABRT和INT信号.我在代码中有这个处理程序,以便我可以向它发送TERM信号并通过kill命令正常关闭程序.信号处理程序现在正常工作,但是当我编译代码时,我收到以下警告(多次):

警告:sun.misc.SignalHandler是Sun专有API,可能会在将来的版本中删除

使用这些类时:

import sun.misc.SignalHandler;
import sun.misc.Signal;
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法将信号发送到正在运行的JVM以启动主线程的关闭?我不希望将我的代码绑定到此API,以便将来删除它.

此代码现在使用1.5.0_22 JVM在Solaris和HPUX上运行.任何帮助或建议将不胜感激.我使用IBM的这个文档来开发信号处理程序:

http://www.ibm.com/developerworks/java/library/i-signalhandling/

java jvm signals

8
推荐指数
1
解决办法
2万
查看次数

(Java)退出循环"远程"

我有一个Java程序基本上执行以下操作:

public static void main(String[] args)
{
  while(true)
  {
  // does stuff ...
  }
}
Run Code Online (Sandbox Code Playgroud)

无限循环是设计的 - 当单独留下时,程序将无限循环.在大多数情况下它工作正常.但是,有时候我想把程序用于维护,当我把它关闭时,我想确保它遍历循环中的所有代码然后退出.

我想知道什么是最好的解决方案.我想到的一个想法是做这样的事情:

public static void main(String[] args)
{
    File f = new File("C:\exit.txt");
    while(!f.exists())
    {
        // does stuff ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这基本上允许我通过创建一个名为"exit.txt"的文件来优雅地离开循环.这对我的目的来说可能没问题,但我想知道是否有更好的替代方法.

java infinite-loop

7
推荐指数
1
解决办法
346
查看次数

如何从Windows任务管理器中检测程序java强制关闭?

伙计们抱歉,如果我通过询问这样一个菜鸟问题冒犯了某人,因为我看到有人因为不合适而有"明显失误"的问题.

这是我第一次问这里,请原谅我,如果有什么不合适,对不起,如果我的英语不是很好.

当我的程序通过任务管理器关闭时,我正在尝试创建临时文件...但我不知道如何检测我的程序是否通过任务管理器关闭!

我怎么做?我搜索了很多,但要么我使用了错误的关键字,要么互联网上没有简单的解决方案.我希望这里有人可以帮助我.

最好的问候和提前感谢.

java taskmanager

6
推荐指数
1
解决办法
2460
查看次数

标签 统计

java ×5

signals ×2

events ×1

infinite-loop ×1

jvm ×1

taskmanager ×1