记录一下踩过的坑,希望碰到此问题的人能看到,平时对subprocess.Popen()了解不多,就用来执行命令,都没出现什么问题,此次开发中,使用subprocess.Popen()执行的命令是数据备份,当数据量过大时,一直不能结束http会话,返回前端响应,然后就各种搜资料解决,最后找到原因。
p = subprocess.Popen(cmd, shell=True, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
close_fds=True:查看文档,发现加上此参数后,解决问题
在python3.4以后,已经默认等于True。