我ps -C <executable name>
在 Linux 上使用,但同样不适用于 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);
}
并适当处理。