使用subprocess.Popen() 来调用命令时竟然发现response确实是返回到客户端了,但是服务器端和客户端的http连接竟然还连接着,一直不断。
python的文档,发现:http://docs.python.org/library/subprocess.html
cmd = 'ps aux | grep "memcached .* %s"' % port
p = subprocess.Popen(cmd, shell=True, close_fds=True, # 必须加上close_fds=True,否则子进程会一直存在
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
需要加上
close_fds
=
True,
#
必须加上close_fds=True,否则子进程会一直存在
但是有时候加上了这句,有时候会报错 OSError: [Errno 12] Cannot allocate memory,
import gc
gc.collect()
主动回收内存