こんにちは、私はこのプロセスツリーを持っています:
上のスクリーンショットは、プロセス ツリーを示しています。私の Perl スクリプトでは、dscli の PID を知っています。単一の 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";
}
問題は、スクリプトで Java プロセスの PID がわからないことです。Java プロセスである dscli の子 PID を取得する必要があります。上記のコードを使用して dscli の PID を強制終了すると、子 (Java) はそれで終了しません。
私の質問は、どうすれば perl を使用して dscli の子である Java プロセスを強制終了できますか?