2014-04-25 25 views
2

因此,出于某种原因,我需要编写我的PHP脚本的进程ID。 虽然这样做,我发现我不能理解的东西。为什么getmypid()在浏览器中返回相同的ID,但在Windows中不同的是CMD

每次我从浏览器执行我的脚本,我得到相同的ID。 (即使我在两个不同的浏览器中执行相同的脚本)。

通过CMD(Windows命令提示符)运行时,每次都会给我不同的ID。

所以我只是好奇,为什么当我通过浏览器执行相同的进程ID分配给我的PHP脚本?

<?php 
    echo getmypid() . "</br>"; 
?> 

有没有办法我每次执行一个PHP脚本的时间来产生从浏览器不同的进程id?

+0

页面是否被缓存在浏览器或服务器上? – DaveyBoy

+0

没有。正如我所说即使在更改浏览器我得到了相同的PID .. – HackerNews

+0

这是由于浏览器缓存,尝试'Ctrl + Shift + R'你会得到新的进程ID每次。 –

回答

4

当您通过命令行运行php脚本时,您每次都会启动一个新进程。所以pid是不同的。

当您在浏览器上刷新页面时,单个php进程会处理每个请求。该pid是唯一的,并保持不变,直到您重新启动服务器。

+1

嘿谢谢队友,这听起来是正确的,但是有没有一种方法可以在每次通过浏览器膨胀运行脚本时生成不同的进程ID? – HackerNews

+0

不确定你想做什么,但你有uniqid函数来生成uniq id:http://www.php.net/manual/en/function.uniqid.php – fluminis

+0

那么我想要做的就是写简历脚本由cron作业执行,检查由主php脚本生成的pid是否已停止,如果是,则重新开始。 – HackerNews

相关问题