Side Projects:

Facedetection
Intrusion Detection System
Searchengine
RemindMe
Open API
Börsenspiel
Vienna Wlan Map
Redirect Service

Impressum
Andreas Beder 2010


PHP im Hintergrund starten

Hallo,

nach meinem Urlaub mal wieder ein kleiner Artikel zum Thema PHP.

Manchmal ist es nützlich einen 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