【发布时间】:2011-02-12 11:36:06
【问题描述】:
我正在尝试使用临时文件 demo.lock 检查进程是否已在运行:
demo.php:
<?php
$active=file_exists('demo.lock');
if ($active)
{
echo 'process already running';
}
else
{
file_put_contents ('demo.lock', 'demo');
sleep(10); //do some job
unlink ('demo.lock');
echo 'job done';
}
?>
但是它似乎不起作用:如果我打开 demo.php 两次它总是显示“工作完成”,也许是因为它认为它是同一个过程?有什么办法吗?我也尝试使用 getmypid() 得到类似的结果。
谢谢
【问题讨论】:
-
我建议你使用一个命名的互斥体来做这样的事情,但我不知道这些是否在 php 中可用..
-
另外,你的操作系统是什么?
-
我在windows和linux机器上都试过了,结果一样
标签: php file-exists