通过PHP检查脚本是否在Apache上运行

时间:2010-07-09 20:14:20

标签: php apache

我需要检查一个管理脚本是否已在Apache上运行,如果没有,则运行。目前,我正在加载服务器状态内容并检查它,但如果我正在检查当前脚本是否已经运行,它将始终返回true,因为我正在运行脚本来检查自身。这有意义吗?

“script.php”基本上是这样的:

if($this_is_already_running) { exit; }
else { run it }

但它正在检查自身时正在运行,因此它将始终返回true。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

我会使用锁文件。您的脚本会将文件写入预定义的位置并锁定它。您的脚本的其他实例将检查锁定,如果它已就位,请退出。

请参阅flock()

手册有一些很好的例子。

答案 1 :(得分:1)

获取脚本的PID怎么样?

这是一个类: http://www.electrictoolbox.com/check-php-script-already-running/