Gibt alle von einem Prozess, der zuvor mit STDIO-Umleitung gestartet wurde, belegten Ressourcen frei.
StdioClose ( process_id )
Parameter
| process_id | Prozess-ID eines Child-Prozesses, wie sie durch einen vorherigen Aufruf von Run() zurückgegeben wurde. |
Rückgabewert
| Erfolg: | Nicht-null. |
| Fehler: | 0 wenn der Prozess keine STDIO-Umleitung verwendet oder schon beendet wurde. |
Bemerkungen
Diese Funktion schließt alle Handles und gibt alle Ressourcen frei, die auf den STDIO-Stream bezogen sind. Es wird danach nicht mehr möglich sein, Daten aus dem STDIO-Stream des Prozesses zu lesen. Alle noch anstehenden Daten sind verloren.
Verwandte Funktionen
StdoutRead, StderrRead, StdinWrite, Run, RunAs
Beispiel
; Demonstriert StdioClose()
#include <Constants.au3>
Local $pid = Run(@ComSpec & " /c dir foo.bar", @SystemDir, @SW_HIDE, $STDERR_MERGED + $STDOUT_CHILD)
StdioClose($pid)
; Es werden keine Daten gelesen, weil der Stream, aus dem gelesen werden soll, vorher geschlossen wurde.
Local $line
While 1
$line = StdoutRead($pid)
If @error Then ExitLoop
MsgBox(0, "STDOUT gelesen:", $line)
Wend
While 1
$line = StderrRead($pid)
If @error Then ExitLoop
MsgBox(0, "STDERR gelesen:", $line)
Wend
MsgBox(0, "Debug", "Beenden...")