When using client-go remotecommand.NewSPDYExecutor to exec nohup command will block in newer version

k8s.io/client-go v0.23.5
k8s.io/kubectl v0.23.5
k8s.io/metrics v0.23.5

# 1.sh
sleep 60

I using remotecommand.NewSPDYExecutor to exec nohup command (like nohup ./1.sh &) in container, it will block 60s to wait for the command finish.But when I run in the older version it will return soon.
I try to debug and find out the newer version the out/err stream io copy will block and the older version will no block.

func (p *streamProtocolV4) stream(conn streamCreator) error {
//.....
	p.copyStdout(&wg)
	p.copyStderr(&wg)

/.....
}
New Version(nohup will wait for finish):
Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.6", GitCommit:"11902a838028edef305dfe2f96be929bc4d114d8", GitTreeState:"clean", BuildDate:"2023-06-14T09:56:58Z", GoVersion:"go1.19.10", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.6", GitCommit:"11902a838028edef305dfe2f96be929bc4d114d8", GitTreeState:"clean", BuildDate:"2023-06-14T09:49:08Z", GoVersion:"go1.19.10", Compiler:"gc", Platform:"linux/amd64"}
Older Version(nohup will return soon): 
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.13", GitCommit:"592eca05be27f7d927d0b25cbb4241d75a9574bf", GitTreeState:"clean", BuildDate:"2022-10-12T10:57:16Z", GoVersion:"go1.17.13", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.13", GitCommit:"592eca05be27f7d927d0b25cbb4241d75a9574bf", GitTreeState:"clean", BuildDate:"2022-10-12T10:50:48Z", GoVersion:"go1.17.13", Compiler:"gc", Platform:"linux/amd64"}

Does anyone know what’s going wrong?