Windowsの他の(perl.exeとは関係のない)プロセスに関する情報を取得するにはどうすればよいですか?
firefox.exe
たとえば、すべてのプロセスに関する基本的な情報を監視したいスクリプトがあります。
私は次のようなことをしたいと思います:
#!perl -w
use warnings;
use strict;
use MagicModule qw/ read_process_info /;
use Data::Dumper;
my $ps = MagicModule::read_process_info();
print Dumper($ps);
そして、次のようなものを参照してください。
$VAR = [
{
ProcessName => 'firefox.exe',
PID => 1234,
PirvateBytes => 21153546,
WorkingSet => 134566354,
# etc...
},
{
ProcessName => 'firefox.exe',
PID => 1556,
PirvateBytes => 15435487,
WorkingSet => 245774448,
# etc...
},
{
ProcessName => 'calc.exe',
PID => 2777,
PirvateBytes => 1024,
WorkingSet => 4096,
# etc...
},
];
私はSystinternalsのPsExecからの出力を解析することによってこの情報を取得していましたが、明らかにこれはまったく効率的ではありません。
このデータを取得するためのPerlの優れた方法は何ですか?
(WindowsXPでStrawberryPerlを使用するソリューション-Windows7が推奨されます。)