Gre*_*reg 6 python windows winapi popen long-running-processes
我有一个python Web应用程序,需要启动一个长时间运行的进程.问题是我不希望它等待整个过程.刚刚发射完成.
我在Windows XP上运行,并且在IIS下运行Web应用程序(如果这很重要).
到目前为止,我尝试过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!
Run Code Online (Sandbox Code Playgroud)
注意:我添加了shell = True.否则在子进程中调用print会给出错误"IOError:[Errno 9] Bad file descriptor"
DETACHED_PROCESS是一个进程创建标志,传递给底层的WINAPI CreateProcess函数.
| 归档时间: |
|
| 查看次数: |
5709 次 |
| 最近记录: |