我想从特定的URL(例如:'localhost:8000 / start')启动子流程。
子进程的状态(即子进程正在运行或已完成)应显示在另一个URL上(例如:'localhost:8000 / status')。
我已经开始了子过程。但是我正在努力在另一个URL中显示状态。
有什么方法可以实现?
根据OP的评论说明
@@ Saharsh
out = Popen(['python', 'script.py'],shell=False,stdout=PIPE,universal_newlines=True)
这就是我启动子流程的方式。
您可能要检查Popen.poll()
方法。如果进程仍在运行,它将返回None
,否则返回状态(例如0
)。
out = Popen(['python', 'script.py'],shell=False,stdout=PIPE,universal_newlines=True)
...
def process_finished(process):
if process.poll()==None:
return False
return True
查看文档中的Popen了解更多详细信息。