in reply to Getting process ID to kill a process....
Here's some code I have sitting around, though it now seems broken since I've upgraded to Perl 5.6.1 (along with many other Win32 modules in ActiveState).
See the book Win32 Perl Scripting: The Administrator's Handbook by Dave Roth.
use Win32::IProcess 1.4, qw( PROCESS_ALL_ACCESS PROCESS_QUERY_INFORMATION PROCESS_TERMINATE NONINHERITED ); my $pobj = new Win32::IProcess; getPids(); sub getPids { my ( @proc_list, @result ); $pobj->EnumProcesses( \@proc_list ) or die "Unable to enumerate processes: $!"; foreach my $process ( @proc_list ) { my $pid = $process->{ProcessId}; my $name = lc($process->{ProcessName}); print STDERR $pid, "\t", $name, "\n"; } return @result; }
|
|---|