Funktionsreferenz

StdioClose

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...")