gpt4 book ai didi

python - 停止 callgrind 中的检测

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:00 26 4
gpt4 key购买 nike

我正在生成多个进程并在每个进程中启动检测。当我尝试在进程退出之前停止检测时,检测程序似乎卡在 shell 中,就好像进程已经完成并且没有进程来停止检测。这是代码:

from os import system,fork,getpid
from glob import glob
from sys import exit

for filename in glob("py/*.py"):
f=fork()
if f==0:
system("callgrind_control --instr=on "+str(getpid()))
execfile(filename,{})
system("callgrind_control --instr=off "+str(getpid()))
exit()

如何解决挂起问题?我真的需要停止仪器吗?

最佳答案

我通过使用 call 而不是 system 以及参数 shell=True 解决了 callgrind_control 挂起问题

from os import system,fork,getpid
from glob import glob
from subprocess import call
from multiprocessing import Process

def caller(filename):
pid=getpid()
call(["callgrind_control","--instr=on",str(pid)],shell=True)
execfile(filename,{})
call(["callgrind_control","--instr=off",str(pid)],shell=True)

for filename in glob("py/*.py"):
p=Process(target=caller,args=(filename,))
p.start()
p.join()

关于python - 停止 callgrind 中的检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com