Что эквивалентно команде ps в perl? - PullRequest
2 голосов
/ 11 сентября 2011

Я использую ps -C <executable name> в Linux, но то же самое не работает в Windows.

Как выполнить такую ​​же проверку в Perl, чтобы она не зависела от платформы?

1 Ответ

4 голосов
/ 11 сентября 2011

Возможно, вы сможете использовать 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);
}

и обработать соответствующим образом.

...