共享进程/线程

Share Process / Thread

我遇到了有关进程和线程的问题。我的场景是:

问题: 我需要能够从 webapp 中停止 startet Diagnosis.exe 并再次启动它,同时仍然能够 destroy/shutdown Diagnosis.exe 一旦 chromium 在 'Starter-App' 内停止。 我希望我能解释我的问题并希望得到建议。

我认为有一个解决方案,但实施起来很棘手。

您始终可以使用 *nix api 之类的 ps kill #pid,如此处示例中所述 Killing a process using Java

但是您的网络服务器必须知道要查找哪个 PID。我看到实现这种事情的唯一选择是使用套接字或网络服务。所以你跟踪Diagnosis.exe进程的当前pid是什么,并在杀死之前使用那个ID。

基于 Anands 的回答,我认为您需要在 Diagnosis.exe 和您的 Starter-App 之间使用某种形式的 IPC,使用 websockets 或许多其他选项,以获得一些想法:How to have 2 JVMs talk to one another .

webapp 将向 Starter-App 发送重启请求 Diagnosis.exe,Starter-App 将始终负责管理应用程序三重奏。