3
在我的Android應用程序中,我使用Runtime.getRuntime().exec()
創建子進程。當父進程停止時停止子進程
但可能會出現這樣的情況,用戶殺死我的應用程序,但子進程仍在運行。我想要的是,當我殺死應用程序時,也殺死了子進程。我如何做到這一點?
在我的Android應用程序中,我使用Runtime.getRuntime().exec()
創建子進程。當父進程停止時停止子進程
但可能會出現這樣的情況,用戶殺死我的應用程序,但子進程仍在運行。我想要的是,當我殺死應用程序時,也殺死了子進程。我如何做到這一點?
我會通過我的應用程序創建的過程
Runtime.getRuntime().addShutdownHook()
向JVM註冊關閉鉤子,當應用程序關閉時會調用該鉤子並終止在上一步中跟蹤的所有生成的進程。
**維克多**,我可能不是真正的說法。 我的意思是「殺」是從任務管理器停止。起初,我在java中用win7測試:用無限循環創建簡單的應用程序。後來停下來:'taskkill/IM javaw.exe/f'並沒有看到,鉤子線程已啓動 –
我與原始問題有相同的問題,並嘗試使用關機鉤 - 請參閱http://stackoverflow.com/問題/ 16173387/android-child-process-logcat-keeps-running-after-parent-process-app-died - 但是沒有奏效。任何其他想法? – hez