当父进程停止时停止子进程

4
在我的安卓应用程序中,我使用 Runtime.getRuntime().exec() 创建了一个子进程。
但可能会出现这样一种情况,即用户杀死了我的应用程序,但子进程仍在运行。我的目标是,在我杀死应用程序时也要杀死子进程。我该怎么做?
1个回答

1

我会

  • 跟踪我的应用程序创建的进程。
  • 通过Runtime.getRuntime().addShutdownHook()向JVM注册一个关闭挂钩,在应用程序关闭时调用它并杀死在前一步中跟踪的所有生成的进程。

Vikdor,我可能说得不太准确。我的意思是“杀死”是从任务管理器中停止。首先,在Java中测试win7:创建具有无限循环的简单应用程序。稍后通过taskkill /IM javaw.exe /f停止,并没有看到挂钩线程启动。 - Yura Shinkarev
我和原问题一样,尝试使用了关闭挂钩 - 参见https://dev59.com/hHHYa4cB1Zd3GeqPJ01y - 但是没有起作用。还有其他想法吗? - hez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接