# WMI Win32_Process class $CLASS= "winmgmts:{impersonationLevel=impersonate}$machine\\Root\\cimv2"; $WMI= Win32::OLE->GetObject($CLASS) || die; foreach my $process (sort {lc $a->{Name} cmp lc $b->{Name}} in($WMI->InstancesOf("Win32_Process"))) { if($process->{Name} eq 'GravitixService.exe' || $process->{ProcessID} eq 'Gravitix.exe') { # Store the Gravitix process ID $pid= $process->{ProcessID}; } } #### my $x= Win32::Process::KillProcess($pid, $exitcode); #### my $y= Win32::Process::Open($p_obj, $pid, 0); $p_obj->Kill(0);