PHP im Hintergrund starten
Hallo,
nach meinem Urlaub mal wieder ein kleiner Artikel zum Thema PHP.
Manchmal ist es nützlich einen Prozess in den Hintergrund zu legen, dies dient zum Beispiel dazu bei rechen- und zeitintensiven Prozessen den Benutzer nicht warten zu lassen.
Code
<?php shell_exec("nohup php /var/www/test.php > /dev/null 2> /dev/null & echo $"); ?>
Die PHP Funktion shell_exec führt eine shell Befehl aus.
nohup nabelt ein Programm vom Elternprozess ab
php -q /var/www/test.php führt den PHP Script aus, der im Hintergrund laufen soll.
> /dev/null leitet die Ausgabe ins Nirgendwo um.
Wenn also diese Zeile im Browser geöffnet wird, wird ein Subprozess von php gestartet, das bedeutet der Benutzer kann weitersurfen, während der Prozess auf dem Server weiter läuft.
Leicht ist das z.B. mit einer Endlosschleife zu testen.
Um sich aktive Prozesse am Server anzusehen genügt z.B. folgender shell Befehl:
ps aux | grep php
Ich hoffe der Beitrag hat euch gefallen und freue mich über euer Feedback.
MFG
Andreas
2008-08-30 18:54:05
|

