Как завершить дерево процессов из Java?

я использую Runtime.getRuntime().exec()команда в Java для запуска пакетного файла, который, в свою очередь, запускает другой процесс для платформы Windows.

javaw.exe(Process1)
 |___xyz.bat(Process2)
        |___javaw.exe(Process3)

Runtime.getRuntime().exec()возвращает объект Process, который имеет метод уничтожения, но когда я использую destroy(), он уничтожает только xyz.bat и оставляет под-процесс пакетного файла. болтается.

Есть ли в Java чистый способ уничтожить дерево процессов, начиная с пакетного процесса как root?

*Я не могу использовать какие-либо пользовательские библиотеки\Избавьтесь от пакетного файла, чтобы-обойти проблему

9
задан Ross Ridge 15 July 2016 в 16:42
поделиться