Java-процесс остановить все дерево процессов - PullRequest
2 голосов
/ 18 марта 2010

Я использую Java Runtime для запуска команд, включая определенные команды CVS.
Я использую:

process = runtime.exec ("cmd /C cvs...");

формат для запуска процесса в Java
Мне нужно иметь возможность остановить его. Для этого я использую метод уничтожения Java Process

process.destroy();


Однако останавливается только cmd , а не процесс cvs. Он продолжает выполняться как отдельный процесс без процесса cmd в качестве родительского.
В Интернете много ссылок на это, но я не нашел удовлетворительного решения. Спасибо

Ответы [ 2 ]

2 голосов
/ 18 марта 2010

Это проблема с оболочкой windows cmd. Почему вы используете это? Разве вы не можете сделать exec("cvs ...") вместо этого?

0 голосов
/ 19 марта 2010

Возможно использование Runtime.exec для получения PID процесса, который вы запустили. И с этим вы можете закрыть дерево процессов.

Однако вам понадобятся две другие программы, чтобы найти PID и завершить дерево процессов.

...