在Windows上用PHP执行并获取pid后台进程
作者:互联网
我在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
标签:php,process,pid,popen,pclose 来源: https://codeday.me/bug/20190701/1352061.html