簡體   English   中英

在Windows上用PHP執行並獲取pid后台進程

[英]Executing and get pid a background process in PHP on Windows

我在Windows apache服務器的后台啟動了一個進程。

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"));
?>

那時,我想得到哪個php -f test.php pid。 當我啟動index.php時,我可以在tasklist命令行的輸出中看到新的php.exe進程。 我怎樣才能獲得這個后台進程的pid。

謝謝。

這將在使用wmic執行任務后輸出ProcessID 然后,您可以將其存儲在會話或cookie中以在頁面之間傳遞。

$cmd = 'wmic process call create "C:/xampp/php/php.exe -f /path/to/htdocs/test.php" | find "ProcessId"';

$handle = popen("start /B ". $cmd, "r");

$read = fread($handle, 200); //Read the output 

echo $read; //Store the info 

pclose($handle); //Close

產量

ProcessId = 1000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM