我正在编写一个带有Java的控制台应用程序,可用于监视某个网站。此操作可以是无限的,直到它被中止。只需按CTRL + C中止它就不起作用,因为应用程序仍然在后台运行。 (我使用的是Windows,但它应该是可移植的。)
答案 0 :(得分:1)
如果用户输入某个字,为什么不能等待用户输入并终止程序?
答案 1 :(得分:0)
您是否注册了shutdownhook?当你中断它时,JVM会调用它。在那里你可以干净地终止你的申请。
要记住的一件事:您启动的任何(后台)线程都应使用Thread.setDaemon(true)
标记为守护程序线程,否则JVM将不会终止,因为它只会在所有非守护程序线程完成后终止。也许这就是为什么即使你按Ctrl-C
答案 2 :(得分: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..................
}
}