我想要做的是将补丁应用到我的软件中。 要应用补丁,我必须运行一个批处理文件,它将替换应用程序jar文件。
我将开始从正在运行的应用程序中应用补丁。
我有一个从Java运行的批处理文件。我正在使用流程构建器来运行批处理文件。
在批处理文件中,我正在关闭使用
调用批处理文件的java应用程序 taskkill /f /t /im myjavaprogram.exe
执行此命令时,我得到以下输出
01/09/2014 13:15:25 : Starting to apply patch.
ERROR: The process with PID 3652 (child process of PID 3564) could not be terminated.
Reason: The process cannot terminate itself.
SUCCESS: The process with PID 3564 (child process of PID 5648) has been terminated.
SUCCESS: The process with PID 5648 (child process of PID 3624) has been terminated.
由java程序启动的批处理文件作为子进程启动。
如何以独立方式或explorer.exe的子进程开始批处理文件进程?
答案 0 :(得分:1)
你不能 - 至少不是直接的。 ProcessBuilder只创建子进程。
答案 1 :(得分:0)
而不是我可以给出算法。
创建一个总是侦听特定文件的类x.txt
,
如果该文件不存在,请在java中调用System.exit()
。
因此,在批处理文件中删除x.txt
。然后java应用程序将终止。
注意:这可能不是一个好的解决方案,但我给出了这个解决方案,因为它也可以工作。