Klappt aber auch nur solange wie das Script ohne Fehler beendet wird.
Richtig. Ein Timestamp als Information wirkt da Wunder. Ist dieser veraltet kann die Information gelöscht werden. Das ganze ist primitiv und wirkungsvoll zugleich, hab es schon für diverse Zwecke benutzt.
Wenn er läuft führe was bestimmtes aus
Das ist wieder so eine der überhaus 'hilfreichen' Informationen zum Umfeld...
Plattformunabhängig:
Setze mit Skriptstart eine Information an geeigneter Stelle (Datenbank, varCache, ..) und lösche diese am Skriptende.
Noch besser, öffne eine Datei und locke sie. Der Lock müsste beim Ende (Absturz, ...) vom OS wieder aufgehoben werden. oder: Schreibe die PID in ein File und prüfe mit ps.
[URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]
Noch besser, öffne eine Datei und locke sie. Der Lock müsste beim Ende (Absturz, ...) vom OS wieder aufgehoben werden.
PHP's flock() hat verschiedene Stolperfallen eingebaut: Es kann bpsw. in einer Multithreaded-Umgebung (mod_php) passieren, dass zwei verschiedene Scripts die gleiche Datei "flock()-en" dürfen, weil sie zum selben Prozess gehören.
Kommentar