Ich gehe davon aus das auf irgendeine Art von Unix läuft so, wenn Sie Ihre PHP-Aufruf mit so etwas wie dieses wickeln:
#!/bin/sh
# specify the full path and params below.
safe_exec()
{
if /bin/ps -axww | /usr/bin/grep "$*" | /usr/bin/grep -v grep > /dev/null; then
# the specified script running, don't start it again
return
else
# run
$*
fi
}
safe_exec php /path/to/your/php/script.php
Ihre timed cron wird das Skript jedes Mal, neu starten, so lange es läuft noch nicht.
Eine weitere Option ist die Optimierung Ihres Skripts. Wenn es unendlich while(true) {}
looping und Ram ausgeht, tut es etwas schlechtes und wird dementsprechend gehandhabt.
Wenn Sie keine Zeit mehr haben, sollten Sie max_execution_time
über set_time_limit()
0 für Ihr CLI-Skript festlegen.
Skripte, die von CLI gestartet werden, haben normalerweise kein Zeitlimit und eine viel höhere Speichergrenze als 64M. – KingCrunch