如何获取有关 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 方法来获取这些数据?
(在 Windows XP 上使用 Strawberry Perl 的解决方案——Windows 7 将是首选。)