closeAfterStart
и closeAfterwait
- это два среза io.Closers
, которые называются соответственно ins Start
и Wait
из cmd
Struct.Теперь, почему это?оба они в основном буферы (кусочки), которые либо должны быть записаны в чтение.В зависимости от того, используются ли они в настоящее время, они закрываются.например, StdInPipe
требует сначала прочитать, а затем записать, поэтому pr
входит в closeAfterStart
и pw
в closeAfterWait
.Обратное сделано для StdOutPipe
.
Программа просто закрывает буферы, которые больше не нужны в коде.В StdErrPipe
функция вызывается после выполнения команды, чтобы записать вывод ошибки в какой-либо вывод.Итак, программа уже имеет вывод, который нужно написать.