运行可执行文件,然后等待该特定的exe文件不再运行

时间:2011-04-23 02:07:59

标签: java javascript process exe

我想运行一个AHK可执行文件然后让java等待该可执行文件在它的脚本结束时终止它自己的进程然后继续,是否有一个函数来监视特定的exe是否正在运行?如果它一直在运行,等到它停止了?

例如在AHK你可以这样做:

IfExist, Appname, 
{
insert code
}

我会使用AHK做这个项目,但因为AHK变量如此脆弱而且递增我无法正常工作它的IF和Else语句正确

或者如果可能的话,我如何让Java暂停一段时间

所有我真正想要的是运行.exe的简单代码和等待它不存在的代码

2 个答案:

答案 0 :(得分:4)

您希望阅读java.lang.ProcessBuilder以启动exe文件,然后阅读java.lang.Process.waitFor()以等待该过程完成。如果你想通过它的stdin将数据提供给进程,或者读取它的stdout或stderr,那么你有一个更复杂的任务,涉及处理流的线程,以便进程不会阻塞。

答案 1 :(得分:3)

它就像一行代码一样简单:

Runtime.getRuntime().exec(<insert executable file here>).waitfor();

PS:这只是一行,所以我不介意,但这不是一个从其他人那里获得完整工作代码的地方。通常的反应是“看看这里,自己动手”,除非OP发布了相关代码,其中一小部分缺失,这不是这里的情况。
PS2:请考虑接受Jim的答案,因为它是正确答案。