2
I持たなどのテキスト抽出のために行われたときに、私はまたcmd.Stdout
からフル出力を取得したいと思うこのコードは、exec.Commandから完全なStdoutを取得するには?
func main() {
cmd := exec.Command("readinggame")
cmd.Stdout = os.Stdout
cmd.Run()
}
私は[]byte
としてどちらかの出力を得るための方法を見つけるように見えることはできませんまたはそれが完了したとき。ところで、私はこれは正確に予測された結果である
var out bytes.Buffer
cmd.Stdout = &out
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
fmt.Println(out.String())
bytes.Bufferを使用すると何が問題になりますか? 'cmd.Output'や' cmd.CombinedOutput'を使わないのはなぜですか? – JimB
'bytes.Buffer'では、すべてのデータを' os.Stdout'にストリームしているので、 'cmd.Stdout'から何も取得できないというエラーがあります。 'cmd.Output'を使うことはできませんbcos出力を' os.Stdout'にストリームしたいのです...長時間実行しているアプリケーションの場合 –