0

我正在用 Java 编写一个控制台应用程序,可用于监控某个网站。此操作可以是无限的,直到它被中止。仅按 CTRL + C 中止它不起作用,因为应用程序仍在后台运行。(我使用的是 Windows,但它应该是可移植的。)

4

3 回答 3

0

如果用户输入某个单词,为什么不能等待用户输入并终止程序?

看起来http://www.devdaily.com/java/edu/pj/pj010005可以帮助你。

于 2012-06-23T09:21:00.087 回答
0

你注册了一个shutdownhook吗?当你中断它时,它会被 JVM 调用。在那里你可以干净地终止你的应用程序。

要记住的一件事:您启动的任何(后台)线程都应标记为守护线程,Thread.setDaemon(true)否则 JVM 将不会终止,因为它仅在所有非守护线程都完成时才会终止。也许这就是为什么即使您按下 Ctrl-C,您的应用程序也会“在后台”停留的原因

于 2012-06-23T09:30:44.827 回答
0

试试这个,

1.有一个布尔变量来确定用户何时想要杀死程序。

2.创建一个无限循环来监控网站,并在其中检查布尔变量的状态。

例如:

boolean isGoing = true;

   String s = null;

    public void monitor(){

    while(isGoing){

       if(s.compareToIgnoreCase(new Scanner(System.in).nextLine()) == 0){

        break;
    }

   // monitor here..................


  }
}
于 2012-06-23T09:31:16.170 回答