请问在java在如何关闭java自己启动的程序呢?

Python09

请问在java在如何关闭java自己启动的程序呢?,第1张

分类: 电脑/网络 >>软件

问题描述:

请问在java在如何关闭java自己启动的程序呢?

解析:

我详细说一下吧

java程序启动之后,JVM(java虚拟机)会实例化一个Runtime类,这是一个运行时类实例,包含这个java程序运行的所有信息,一个程序会实例化一个Runtime类且只能实例化一个Runtime类。我们可以通过这个Runtime类实例操作程序的运行。它的exit(int status)方法会终止程序的运行。例:

Runtime.getRuntime().exit(0)

其中参数status表示状态,0表示正常退出,非0表示异常退出。非0参数有什么用呢?

addShutdownHook(Thread hook)方法可以将一个Thread可程序的关闭hook(挂/联系)起来,程序退出前,会执行这个方法,这样我们可以根据退出状态作相应的善后操作。

另外,System.exit(int status)也是调用这个Runtime类实例的退出方法来间接实现程序的退出的。

再加一点,Runtime类可以创建子进程,如下:

Process p=Runtime.getRuntime().exec("notepad")

这个语句将会创建一个记事本程序(它是Runtime类创建的子进程)

p.destroy()

这个语句终止刚才创建的子进程。

你的意思好像是说这个程序需要一天24小时不间断执行的,呵呵!

可以这样解决:

首先,把你启动程序的命令编辑到一个bat

批处理文件

中;

然后,你的java类里面需要的核心代码是:

Runtime.getRuntime().exec("cmd.exe

/c

start

C:\\clean.bat(这个文件改成你做好的批处理文件)")

当然,你的程序中需要判断现在是不是晚上六点,这个就不多说了。

if(晚上6点){

执行上面的代码;

}