Tom: php CRON, Hintergrundprozess, Fork

Beitrag lesen

Hello,

hier noch ein Demoscript für einen Hintergrundprozess.

<?php #### control_center_02.php ####

error_reporting(E_ALL);
ini_set("track_errors","1");
$php_errormsg ='';

set_time_limit(0);
$pid = getmypid();

$ignore = ignore_user_abort(true);  ## Script läuft bei abort weiter

diese Schleife läuft solange, wie eine Datei lauf.txt vorhanden ist

header('Location: http://testserver.lan.fli4l/~thomas/test/connection/lauflog.html');

echo "<p>Schleife gestartet mit $pid</p>\n";
flush();

sleep(1);

while (file_exists('lauf.txt'))
{
  $message = "Prozess $pid ".date('Y-m-d H:i:s')." lebt noch<br />\n";
  $log =  error_log ( $message, 3, 'lauflog.html');  ## das kann man auch auf einaml pro Stunde
  sleep(120);                                        ## reduzieren

## hier prüfen, was zu tun ist und dann darüber auch einen Log-Eintrag schreiben
  ## Die Aufgabe kann man auch über fsockopen nach dersleben Methode starten
  ## Nach dem fclose() läuft das Script dann weiter...

}

$log =  error_log ("Prozess $pid wird beendet: ".date('Y-m-d H:i:s')."<br />\n", 3, 'lauflog.html');

?>

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau