perl进程操作

#!/user/local/bin/perl/

use Win32::Process;

use Win32;

##创建记事本进程并打开文件temp.txt
       sub ErrorReport{
                print Win32::FormatMessage( Win32::GetLastError() );
        }
        Win32::Process::Create($ProcessObj,
                                "C:\\WINDOWS\\system32\\notepad.exe",
                                "notepad temp.txt",
                                0,
                                NORMAL_PRIORITY_CLASS,
                                ".")|| die ErrorReport();
$pid = $ProcessObj->GetProcessID();
print("pidnotepad:\t $pid \n");


use Win32::OLE;
$machine= shift || Win32::NodeName();

##下面枚举机器中正在运行的所有进程信息

#$class = "WinMgmts:{impersonationLevel=impersonate}!//$machine";
#$wmi = Win32::OLE->GetObject($class);
        $wmi = Win32::OLE->GetObject('winmgmts:\\\\.\\root\\cimv2');##两种方法都可以的
$plist = $wmi->InstancesOf("Win32_Process");

$~ = PROC_LIST;
write;
$~ = PROC_INF;

$n = 0;
foreach $Proc (Win32::OLE::in( $plist )){
write;
$n++;
}
print " ===========================\n";
print " -> Processes number : $n <-\n";
print " ===========================";

# -----------------------------------------------------------------------------
format PROC_LIST =
@||| @|||||||||||||||| @||||||
"PID", "Process Name", " Memory"
---- ----------------- --------
.

format PROC_INF =
@||| @<<<<<<<<<<<<<<<< @|||||||
$Proc->{'ProcessID'},$Proc->{'Name'}, $Proc->{'PeakWorkingSetSize'}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值