我想检查某个进程已经在使用中的临时文件demo.lock运行:检查如果PHP进程已经运行
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可用.. – 2010-04-26 16:12:36
还,你的操作系统是什么? – zneak 2010-04-26 16:20:54
我已经在Windows和Linux机器上尝试过它,结果相同 – Borgtex 2010-04-27 07:50:14