Mailinglisten-Archive |
Am Dienstag, den 06.09.2005, 15:59 +0200 schrieb Kraft Bernhard: > Martin Rozmus wrote: > > Du musst die Ausgabe des Scriptes, das du aufrufst, in eine Datei > > umlenken, z.B. /dev/null und das Skript mit einem kaufmännischen Und (&) > > in den Hintergrund schicken. Beispiel: > > > exec( "/home/martin/tmp/sleep.sh > /dev/null &" ); > > Und um genau zu sein gehört nicht nur stdout umgeleitet sonder auch stderr da PHP meines > wissens nach ebenfalls wartet wenn da etwas ausgegeben wird. Also: > > exec( "/home/martin/tmp/sleep.sh > /dev/null 2> /dev/null &" ); > Da bin ich mir nicht sicher. ich habe das o.g. Beispiel bei mir getestet und es hat ohne der Umleitung von stderr funktioniert. Das Handbuch besagt ja: "Beachten Sie auch, dass wenn Sie ein Programm mit dieser Funktion starten und Sie es im Hintergrund laufen lassen möchten, Sie sicherstellen müssen, dass die Ausgabe des Programms in eine Datei oder anderenen Ausgabestream umgeleitet wird. Andernfalls wird PHP solange laufen, bis das Programm beendet ist." http://de.php.net/manual/de/function.exec.php Es ist nur die Rede von der "Ausgabe", also implizit stdout. Ob damit auch stderr gemeint ist, bleibt verborgen. -- Martin Rozmus <martin.rozmus at gmx.net>
php::bar PHP Wiki - Listenarchive