2011-07-28 9 views
0

私が達成したいのは、Javaプログラムを起動して、ユーザーがコントロールCを使用してそのプログラムを終了するまで実行し続けることです。 BufferedReaderを作成し、BufferedReaderを読みながらループを無限ループすることでこれを行うことは可能ですが、私がやっているのは、Javaプログラム(例:java -jar app.jar &)をbackgroundingすることです。その方法はうまくいかないでしょう。私はJavaのデーモンスレッドについて少しは読んだことがありますが、JVMを存続させたいので、このインスタンスでは正しい解決策ではないとも思います。スタンダードなしでJavaプログラムを実行するには

ご協力いただければ幸いです。

おかげで、 クリス

+1

バックグラウンドでは、CTRL-Cを使用してユーザーを中断することはできませんが、kill ... – DoubleMalt

+1

この方法ではどのような問題を解決しようとしていますか?たぶん、プログラムのバックグランドは正しい解決策ではありませんか?あるいは、Ctrl-Cよりもプログラムを中断させる方が良いでしょうか? –

+1

「JVMを存続させたい」ということについてもっと詳しく言うことができますか?したがって、デーモンの解決策を除外していますか?私はそれについてもっと読んでみたいです。 (私は[Apache Commons Daemon component](http://commons.apache.org/daemon/)にあなたを指摘していました。なぜなら、それについて今日読んでいたからです。それは私のハンマーになりました。 =) – Marvo

答えて

0

私はあなたがおそらく別のプロセスからJavaプログラムを起動している推測していますか?潜在的なオプションはJava Service Wrapperを統合している可能性がありますか?あなたがやっていることによっては、ライセンスが問題になるかもしれないし、おそらくctrl-cでプロセスを強制終了しないかもしれませんが、これは(上記の他にも)考えられています。

+0

本当の問題は、私がプログラムをバックグラウンドにしたときに、その標準が閉じてしまうことです。私はJava Service Wrapperがそれを助けるとは思わない。 –

関連する問題