Как убить дерево процессов в Windows

Привет, у меня есть это дерево процессов:

enter image description here

На приведенном выше снимке экрана показано дерево процессов. В моем Perl-скрипте я знаю PID dscli. Я написал следующий код для уничтожения одного PID:

use Win32::Process;
use strict;
use warnings;

if(defined($ARGV[0])){
    my $pid = "$ARGV[0]";
    my $exitcode = 0;
    Win32::Process::KillProcess($pid, $exitcode);
}else{
    print "No argument provided :(\n";
}

Проблема в том, что в моем сценарии я не знаю PID процесса Java. Мне нужно получить дочерний PID dscli, который является процессом java. Если я убью PID dscli, используя приведенный выше код, то ребенок (java) не умрет вместе с ним.

Итак, мой вопрос: как я могу убить процесс java, который является дочерним по отношению к dscli, используя perl?

9
задан ikegami 4 June 2012 в 04:18
поделиться