phpbar.de logo

Mailinglisten-Archive

[php] CLI ohne Rückgabe

[php] CLI ohne Rückgabe

Martin Rozmus martin.rozmus at gmx.net
Die Sep 6 16:11:05 CEST 2005


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