【发布时间】:2014-05-09 01:22:16
【问题描述】:
我想从 python 运行一个程序并找到它的内存使用情况。为此,我正在使用:
l=['./a.out','<','in.txt','>','out.txt']
p=subprocess.Popen(l,shell=False,stdout = subprocess.PIPE, stderr = subprocess.PIPE)
p.wait()
Res= getrusage(resource.RUSAGE_CHILDREN)
print Res.ru_maxrss
我还尝试使用 check_call(l,shell=False,stdout = subprocess.PIPE, stderr = subprocess.PIPE) 并删除 p.wait,但问题是程序在使用 Popen 时卡在 p.wait() 处,而在使用 check_call() 时卡在 check_call() 处。我无法弄清楚为什么会这样。我的论点列表是否错误。
./a.out < in.txt > out.txt 命令在终端上运行良好。我正在使用 Ubuntu
【问题讨论】:
标签: python python-2.7 subprocess popen