Kubernetes client-go Remotecommand Stream 何时完成?

When Kubernetes client-go Remotecommand Stream finishes?

我在这里 https://github.com/kubernetes/client-go/blob/master/tools/remotecommand/remotecommand.go#L108 使用此远程命令在 pod 上执行命令并将结果流式传输到 io.Writer。正如上面命令中所述,link 中的函数只有在客户端或服务器断开连接时,Stream 才会完成。由于 Stream 配置只附加了一个命令,为什么当命令退出时它不关闭?我怎么知道命令何时完成?

特别是我正在将 tar -cf - ... 的结果传输给客户端,想知道它何时完成。

我注意到流函数 运行 同步执行并阻塞,直到远程命令完成。在调用 writer.Close() 后添加一秒超时可防止程序在我可以处理收到的 tar 存档之前退出。