2013-08-20 3 views
0
$out = shell_exec('powershell -command "& {Get-WmiObject win32_Process | where-object {($_.CommandLine -like \"*php*\") } | Select-Object ProcessId,CommandLine,\"MMxDelimiter\" | Format-List}" < NULL'); 

foreach (explode("MMxDelimiter :",$out) as $Row) { 
    preg_match_all("/ProcessId[^:]+:[^0-9]+([0-9]+)[^a-z]*CommandLine[^:]+:(.+)/is",$Row,$OutPut); 
    if (trim($OutPut[1][0]) != "") { 
     $Files[] = array("ProcessId"=>$OutPut[1][0],"Command"=>preg_replace("/[\n][ ]+/","",$OutPut[2][0])); 
    } 
} 
print_r($Files); 

이 코드가 표시 PHP 파일을 작업을 진행하지만, 승리 서버 2008 인해 < NULL 매개 변수에 오류가 있습니다.파워 쉘을 통해 잘 WIN7에 노력하고 있습니다 파워 쉘을 통해 PHP 파일을 작업

사람은 내가 그래서 가장 좋은 방법이지만 작업이 아닌이 문제

+1

어떤 오류가 발생하고 있습니까? (그것을 기술하지 말고, 실제 에러 메시지를 여러분의 질문에 추가하십시오.)'

+0

정보가 부족하여 죄송합니다. 영어로 설명하는 것은 저에게 어렵습니다. "지정된 파일을 찾을 수 없습니다."라는 오류 메시지가 나타납니다. – Mustafa

+0

'

답변

0
$out = shell_exec('powershell -command "& {Get-WmiObject win32_Process | where-object {($_.CommandLine -like \"*php*\") } | Select-Object ProcessId,CommandLine,\"MMxDelimiter\" | Format-List}" < '.__FILE__); 

foreach (explode("MMxDelimiter :",$out) as $Row) { 
    preg_match_all("/ProcessId[^:]+:[^0-9]+([0-9]+)[^a-z]*CommandLine[^:]+:(.+)/is",$Row,$OutPut); 
    if (trim($OutPut[1][0]) != "") { 
     $Files[] = array("ProcessId"=>$OutPut[1][0],"Command"=>preg_replace("/[\n][ ]+/","",$OutPut[2][0])); 
    } 
} 
print_r($Files); 

내가 진짜 파일 경로 < __FILE__와 변화 < NULL를 해결하는 방법을 말해 줄 수!

관련 문제