próbuję sprawdzić, czy proces jest już uruchomiony za pomocą czasowego pliku demo.lock:Sprawdzenie, czy proces php jest już uruchomiony
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';
}
?>
jednak nie robi Wygląda na to, że działa: jeśli dwukrotnie uruchomię plik demo.php, zawsze pokazuje on "wykonaną pracę", może dlatego, że uważa to za ten sam proces? czy jest jakiś sposób na zrobienie tego? Próbowałem również z getmypid() z podobnymi wynikami.
Dzięki
proponuję użyć nazwany mutex na coś takiego, ale nie wiem, o ile są one dostępne w php .. –
także , jaki jest twój system operacyjny? – zneak
Próbowałem tego zarówno na windowsach, jak i na maszynach typu linux, z takimi samymi wynikami. – Borgtex