September 2009
Intermediate to advanced
912 pages
48h 11m
German
Sie wollen die Fehlerausgabe eines Programms auslesen; zum Beispiel wollen Sie die Systemaufrufe, die von strace(1) angezeigt werden, einsehen.
Leiten Sie den Standardfehlerkanal zur Standardausgabe um, indem Sie 2>&1 an die Kommandozeile, die an popen() durchgegeben wird, anfügen. Lesen Sie die Standardausgabe aus, indem Sie die Pipeline im r-Modus öffnen:
$ph = popen('strace ls 2>&1','r') or die($php_errormsg);
while (!feof($ph)) {
$s = fgets($ph,1048576) or die($php_errormsg);
}
pclose($ph) or die($php_errormsg);Sowohl in der sh unter Unix als auch in der Windows-Shell cmd.exe ist der Standardfehlerkanal der Datei-Deskriptor 2 und die Standardausgabe der Datei-Deskriptor ...