Java进程:等待父进程退出

时间:2016-03-02 14:14:06

标签: java

我的java应用程序由父进程(windows)作为其子进程启动。

父进程将其环境变量中的PID发送到子进程。

在Windows API中,有一个WairForSingleObject允许子进程等待父进程退出(包括进程终止)。

如何监控父进程在JAVA中的退出?

1 个答案:

答案 0 :(得分:0)

您可以使用JNA来使用WaitForSingleObject。您所要做的就是将JNA库添加到类路径中:

<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>4.2.1</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>4.2.1</version>
</dependency>

之后你可以打电话:

WinNT.HANDLE handle = Kernel32.INSTANCE.OpenProcess(0, false, pidOfAnyProcess);
Kernel32.INSTANCE.WaitForSingleObject(handle, Kernel32.INFINITE);