Я использую эту команду Remote здесь https://github.com/kubernetes/client-go/blob/master/tools/remotecommand/remotecommand.go#L108, чтобы выполнить команду на модуле и передать результат в io.Writer.Как указано в приведенной выше команде, функция в ссылке поток завершает только при отключении клиента или сервера.Поскольку в конфигурацию потока включена только одна команда, почему она не закрывается при выходе из команды?Как я могу узнать, когда команда завершилась?
io.Writer
В частности, я передаю результат tar -cf - ... клиенту и хочу знать, когда он закончится.
tar -cf - ...
Я заметил, что функция потока работает синхронно и блокируется, пока удаленная команда не завершится.Добавление таймаута в одну секунду после вызова writer.Close() предотвратило выход из программы, прежде чем я смог обработать полученный архив tar.
writer.Close()