handle.stdout.read()
返回'' (空字符串)命令为sudo docker exec -it $DOCKER_ID $SHELL_COMMAND
时。
command = 'sudo docker exec -it %s ls %s' % (docker_id, ssh_dir)
handle = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
command_out = handle.stdout.read()
但它可以通过手动执行命令返回预期结果。
sudo docker exec -it 0b22bf73a0f5 ls /root/.ssh
authorized_keys id_rsa
如果命令是sudo docker ps | grep $FILETER_STRING
,则子进程也可以。
handle.stdout.read()
返回'&#39 ;?的原因是什么?感谢。