当前位置: 首页 > 面试题库 >

Python-从Web应用程序启动长时间运行的进程

边健
2023-03-14
问题内容

我有一个需要启动长时间运行过程的python Web应用程序。问题是我不希望它等待过程完成。刚启动并完成。

我在Windows XP上运行,并且Web应用程序在IIS下运行(如果有的话)。

到目前为止,我尝试过popen,但是似乎没有用。它一直等到子进程完成。


问题答案:

好吧,我终于明白了!这似乎可行:

from subprocess import Popen
from win32process import DETACHED_PROCESS

pid = Popen(["C:\python24\python.exe", "long_run.py"],creationflags=DETACHED_PROCESS,shell=True).pid
print pid
print 'done' 
#I can now close the console or anything I want and long_run.py continues!

注意:我添加了shell = True。否则在子进程中调用print会给我错误“ IOError:[Errno 9]错误的文件描述符”

DETACHED_PROCESS是一个过程创建标志,该标志被传递给基础WINAPI
CreateProcess函数。



 类似资料: