PHP 获取进程创建时间


PHP get process creation time?

我有一个(示例)php代码如下:

$name_Proc = "chrome.exe";
$wmi = new COM('winmgmts://'); 
$processes = $wmi->ExecQuery("SELECT * FROM Win32_Process WHERE Name ='".$name_Proc."'"); 

我用它用下面的代码来计算进程,

 $array = array();
foreach($processes as $process){ 
         array_push($array,$process->ProcessId);
}
$count_Process = count($array);
return $count_Process;

现在,真正的事情,我现在需要进程创建时间,可以使用VBScript和以下代码:

    strComputer = "."
Set objWMIService = GetObject("winmgmts:''" & strComputer & "'root'cimv2")
Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'notepad.exe'")
For Each objProcess in colProcessList
    Wscript.Echo objProcess.CreationDate
Next

现在,如果我想知道如何在我的 PHP 脚本中实现它!

有什么线索吗?

好的,对不起大家,只是看了一下现在明白了!我想通了。这是代码,希望它可以帮助某人将来:)

foreach ($processes as $process) {
print $process->CreationDate;
}

使用这段代码,完整代码如下:

function processMade($pid) {
$name_Proc = "9052";
$wmi = new COM('winmgmts://'); 
$processes = $wmi->ExecQuery("SELECT * FROM Win32_Process WHERE ProcessId ='".$name_Proc."'"); 
$array = array();
foreach ($processes as $process) {
array_push($array,print $process->CreationDate);
}
return $array;
}

或者简单地使用这个:

 $name_Proc = "9052"; //this is the PID, if you want it by name than change the ProcessId = '".$name_Proc."'" in the 4th line.
    $wmi = new COM('winmgmts://'); 
    $processes = $wmi->ExecQuery("SELECT * FROM Win32_Process WHERE ProcessId ='".$name_Proc."'"); 
    $array = array();
    foreach ($processes as $process) {
    array_push($array,print $process->CreationDate);
    }

最好

阿赫桑