perl中ps命令的等价物是什么?

时间:2011-09-11 05:01:53

标签: windows perl ps

我在Linux上使用ps -C <executable name>,但这在Windows上不起作用。

如何在Perl中执行相同的检查以使其与平台无关?

1 个答案:

答案 0 :(得分:4)

您可以使用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);
}

并妥善处理。