Witam mam do tego drzewa Proces:Jak zabić drzewo procesów w systemie Windows
Powyższy zrzut ekranu pokazuje drzewo procesów. W moim skrypcie Perla znam PID dscli. Napisałem poniższy kod, żeby zabić jednego 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";
}
Problem polega na tym, że w moim scenariuszu nie wiem procesu Java PID. Muszę uzyskać PID potomka Dscli, który jest procesem java. Jeśli zabiję PID dscli za pomocą powyższego kodu, to dziecko (java) nie zginie razem z nim.
Moje pytanie brzmi: jak mogę zabić proces java, który jest dzieckiem dscli używającym perla?
'getppid' nie jest realizowany na Win32, co oznacza po prostu w trakcie każdego procesu sprawdzania, czy dana PID jest jego rodzic nie działa :( – DVK
jest kompetentny Perl/Użytkownik systemu Windows na http://www.perlmonks.org/ – ikegami
Ponadto, jeśli możesz dowiedzieć się, jak to zrobić, n C (przy użyciu API lub WMI), mogę pomóc w przeniesieniu go do Perla. – ikegami