我想檢查某個進程已經在使用中的臨時文件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