我在Linux上使用ps -C <executable name>
,但在Windows上不能使用。
我怎样才能在Perl中执行相同的检查,使其与平台无关?
您可能能够使用Win32 :: Process :: List
use 5.12.0; use warnings; use Win32::Process::List; my $P = Win32::Process::List->new(); if($P->IsError == 1) { die $P->GetErrorText; } my %list = $P->GetProcesses(); foreach my $key (keys %list) { # $list{$key} = process name, $key=PID say sprintf("%25s %10s", $list{$key}, $key); }
并适当处理。