PHP获取进程创建时间?
我有一个(示例)php代码,如下所示:PHP获取进程创建时间?,php,process,count,win32com,Php,Process,Count,Win32com,我有一个(示例)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){
$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脚本中实现它
有什么线索吗?好的,对不起大家,只是看了一下,现在明白了!我想出来了。下面是代码,希望它能帮助将来的人:) 使用此代码,完整代码如下:
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);
}
最好的
Ahsan所以在4分钟内,你突然想出了解决方案,并发布了答案?有趣…思想没有时间告诉你!每次有人从PHP使用COM时,他们都应该被迫在他们的眼睛里插入一个热叉。谢谢你的评论,如果你能在这里告诉我它的替代方案,你会很好吗?你…吗?哦,好吧,我想你可以评论一下。。!
$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);
}