您可以使用中的代码定期检查进程是否仍在运行
this answer
,然后在缺少进程时发布消息。在Windows 10上,您要查找的进程是
Calculator.exe
.
以下是Java 8检查进程是否正在运行的方法:
private static boolean processIsRunning(String processName) throws IOException {
String taskList = System.getenv("windir") + "\\system32\\tasklist.exe";
InputStream is = Runtime.getRuntime().exec(taskList).getInputStream();
try (BufferedReader br = new BufferedReader(new InputStreamReader(is))) {
return br
.lines()
.anyMatch(line -> line.contains(processName));
}
}
然后你可以等待
processIsRunning("Calculator.exe")
这是真的。
下面是一个快速而肮脏的实现:
public static void main(String[] args) throws Exception {
Runtime.getRuntime().exec("calc.exe").waitFor();
while (processIsRunning("Calculator.exe")) {
Thread.sleep(1000); // make this smaller if you want
}
System.out.println("Program has been closed successfully");
}