Windows apache 서버에서 백그라운드로 프로세스를 시작했습니다. 이 다음Windows에서 PHP로 백그라운드 프로세스를 실행하고 가져 오기
의 index.php :이 다음
<?php
$cmd = "C:/xampp/php/php.exe -f test.php";
pclose(popen("start /B ". $cmd, "r"));
echo "OK";
?>
test.php :
<?php
sleep(5);
file_put_contents("1.txt", date("Y-m-d H:i:s"));
?>
그 당시, 나는 PID php -f test.php
을 싶어. index.php를 시작하면 php.exe
프로세스가 tasklist
명령 행 출력으로 표시됩니다. 이 백그라운드 프로세스에서 pid를 얻으려면 어떻게해야합니까?
감사합니다.
'$ PID = getmypid(); 'http://php.net/manual/en/function.getmypid.php에 유의하지만 경고 : ** 경고 프로세스 ID는 고유하지 않으므로 약한 엔트로피 소스입니다. 보안과 관련된 상황에서 pid를 사용하지 않는 것이 좋습니다. ** – icecub
도움을 제공해 주셔서 감사합니다. 그러나 httpd.exe의 pid를 리턴합니다. 나는 php.exe의 PID를 얻고 싶다. –
정확하게 무엇을하고 있는지 모르겠지만 이것이 CLI 명령이라는 것을 명심하십시오. 이것은 브라우저에서 실행하면 작동하지 않습니다. – icecub