我正在尝试通过使用一个临时文件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两次,它总是显示“job done”,可能是因为它认为它是同一个进程?有什么办法可以解决吗?我也尝试了使用getmypid(),结果类似。
谢谢