为什么在Start()中关闭os / exec.StderrPipe的writer?

时间:2018-09-27 04:00:10

标签: go

有人可以帮助我了解为什么pw (the writer)计划在Start()结束吗?

我希望pwpr ( the reader)中的Wait()一起关闭。

1 个答案:

答案 0 :(得分:0)

closeAfterStartcloseAfterwaitio.Closers的两个切片,分别在Start结构的Waitcmd中被称为。现在,为什么呢?这两个基本上都是缓冲区(切片),需要将其写入读取。根据它们是否正在使用,它们是关闭的。例如StdInPipe需要先读取然后再写入,因此pr包含在{{1}中,而closeAfterStart包含在pw中。对closeAfterWait进行相反的操作。

该程序只是关闭代码中不再需要的缓冲区。在StdOutPipe中,在执行命令后调用该函数,以将错误输出写入某些输出。因此,该程序已经具有需要编写的输出。