繁体   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