Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在关闭java应用程序时运行.bat文件_Java_Batch File - Fatal编程技术网

在关闭java应用程序时运行.bat文件

在关闭java应用程序时运行.bat文件,java,batch-file,Java,Batch File,我想在关闭Java应用程序时运行.bat文件 我尝试过,但当我关闭Java应用程序时,bat文件不会启动。我可以想到两个选项 从一个批处理文件或ant文件中启动Java应用程序,然后在完成后自动运行另一个批处理文件或ant文件。 使用java代码在应用程序关闭时拦截,然后启动一个作为子进程从java运行的批处理文件。如果您不想让应用程序等待,您可能需要使用特定于windows的方法在退出后保持其运行。 如果进程被终止,则只有1个可用。你现在是如何尝试去做的,又是如何失败的?如果没有这些信息,我们

我想在关闭Java应用程序时运行.bat文件


我尝试过,但当我关闭Java应用程序时,bat文件不会启动。

我可以想到两个选项

从一个批处理文件或ant文件中启动Java应用程序,然后在完成后自动运行另一个批处理文件或ant文件。 使用java代码在应用程序关闭时拦截,然后启动一个作为子进程从java运行的批处理文件。如果您不想让应用程序等待,您可能需要使用特定于windows的方法在退出后保持其运行。
如果进程被终止,则只有1个可用。你现在是如何尝试去做的,又是如何失败的?如果没有这些信息,我们将无法帮助您。

您可能需要查看关机挂钩。基本上,您可以注册一个未启动的线程,它将在退出进程启动时由JVM启动

Runtime.getRuntime().addShutdownHook(thread)
根据该文件:

Java虚拟机会关闭以响应两种类型的事件:

当最后一个非守护进程线程退出或当调用System.exit方法时,程序正常退出,或 虚拟机在响应用户中断(如键入^C)或系统范围事件(如用户注销或系统关闭)时终止。 请检查一下
. 使用Runtime.getRuntime.addShutdownHookthread将其关联。

如果您的应用程序是扩展SingleFrameApplication的桌面应用程序,您可以覆盖其退出方法:public void exitEventObject事件,并添加代码以在那里启动文件

你到底试了什么?你如何开始你的申请?