带有(C+;+;)子进程/线程或类似程序的Java进程

带有(C+;+;)子进程/线程或类似程序的Java进程,java,c++,multithreading,process,signals,Java,C++,Multithreading,Process,Signals,我今天的问题是: 我需要从java开始程序(C++程序)。当java程序停止时,C++程序也需要停止,反之亦然。 我的想法是: 我需要用新线程运行程序。当线程停止时,我可以退出java程序。如果Java程序停止,线程将被终止 或 我需要在Java进程的新子进程中运行该程序。并在Java进程中接收信号,以检查子进程是否死亡 有人知道我如何获得这种行为吗?您可以在主线程中添加一个关闭钩子,在这个钩子中,您可以终止应用程序,或者发送退出信号 Runtime.getRuntime().addShutdo

我今天的问题是: 我需要从java开始程序(C++程序)。当java程序停止时,C++程序也需要停止,反之亦然。 我的想法是: 我需要用新线程运行程序。当线程停止时,我可以退出java程序。如果Java程序停止,线程将被终止

我需要在Java进程的新子进程中运行该程序。并在Java进程中接收信号,以检查子进程是否死亡


有人知道我如何获得这种行为吗?

您可以在主线程中添加一个关闭钩子,在这个钩子中,您可以终止应用程序,或者发送退出信号

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() {
        // kill the application here!!!
        killCProgram();
    }
});
在上面的代码中,java应用程序将等待
killCProgram


实际上,如果是两个进程,那么它们是独立的。

您可以在主线程中添加一个关闭钩子,在这个钩子中您可以终止应用程序,或者发送退出信号

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() {
        // kill the application here!!!
        killCProgram();
    }
});
在上面的代码中,java应用程序将等待
killCProgram


实际上,如果是两个过程,它们是独立的。< / P >是否其他程序是由C++编译的?这是否另一个程序是由C++编译的?