2

Linuxで使用ps -C <executable name>していますが、Windowsでは同じことが機能しません。

プラットフォームに依存しないように、Perl で同じチェックを実行するにはどうすればよいですか?

4

1 に答える 1

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);
}

そして、適切に処理します。

于 2011-09-11T05:39:45.453 に答える