Function Reference

StdioClose

STDIOリダイレクションで実行したプロセスに関連付けられた全てのリソースを閉じます。

StdioClose ( process_id )

 

パラメータ

process_id Runの呼び出しで返された子プロセスのプロセスID

 

返し値

成功 非ゼロ
失敗 プロセスがSTDIOリダイレクションされていない場合、既に閉じられている場合は0

 

注意

この関数は全てのハンドルを閉じ、STDIOに関連付けられた全てのリソースを解放します。
これによってプロセスからのSTDIOデータを読むことは不可能になります。
また全ての保留中のデータは失われます。

 

関連

StdoutRead, StderrRead, StdinWrite, Run, RunAs

 


; StdioClose()のデモ
#include <Constants.au3>

Local $pid = Run(@ComSpec & " /c dir foo.bar", @SystemDir, @SW_HIDE, $STDERR_MERGED + $STDOUT_CHILD)
StdioClose($pid)

; 読み込み先の全てのストリームを閉じたので読み込めるデータは無い
Local $line
While 1
    $line = StdoutRead($pid)
    If @error Then ExitLoop
    MsgBox(0, "STDOUT read:", $line)
Wend

While 1
    $line = StderrRead($pid)
    If @error Then ExitLoop
    MsgBox(0, "STDERR read:", $line)
Wend

MsgBox(0, "Debug", "Exiting...")