我需要调用一个运行 dd 命令(http req 1)的 python 服务(我使用的是 bottle 和 gunicorn),并且我需要能够随时通过另一个调用(http req 2)终止该过程。
A)如果我这样做:
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out = p.stdout.read().strip()
http req 2 一直等到 http req 1 结束(因此读取输出会阻塞并发调用)
B)如果我将输出写入文件,http req 1 不会阻止其他请求,但该请求在后台执行命令的同时结束。
所以,我需要保持 http req 1 直到命令完成,但同时我需要能够用另一个请求终止进程。(如果我使用简单的 time.sleep(x) 而不是读取我想要的输出,req 1 保持活动状态,我可以同时调用 req 2)
请帮忙