0

特定のWebサイトを監視するために使用できるJavaを使用してコンソールアプリケーションをプログラミングしています。この操作は、中止されるまで無限になります。アプリケーションはバックグラウンドで実行されたままなので、CTRL+Cを押して中止するだけでは機能しません。(私はWindowsを使用していますが、移植可能である必要があります。)

4

3 に答える 3

0

シャットダウンフックを登録しましたか? これは、中断したときに JVM によって呼び出されます。そこで、アプリケーションをきれいに終了できます。

覚えておくべきことの 1 つは、開始するすべての (バックグラウンド) スレッドをデーモン スレッドとしてマークする必要があることです。Thread.setDaemon(true)そうしないと、すべての非デーモン スレッドが終了した場合にのみ JVM が終了するため、JVM は終了しません。Ctrl-C を押しても、アプリケーションが「バックグラウンド」のままになるのはそのためかもしれません。

于 2012-06-23T09:30:44.827 に答える
0

これを試して、

1.ユーザーがプログラムを強制終了するタイミングを決定するブール変数を用意します。

2. Web サイトを監視するための無限ループを作成し、その中でブール変数の状態を確認します。

例えば:

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 に答える
0

ユーザーの入力を待って、ユーザーが特定の単語を入力した場合にプログラムを強制終了できないのはなぜですか?

http://www.devdaily.com/java/edu/pj/pj010005があなたを助けることができるように見えます。

于 2012-06-23T09:21:00.087 に答える