我正在将一些在Posix系统上运行良好的进程代码迁移到Windows操作系统。 简单来说:启动子进程并立即分离的代码将无法工作,因为Windows上不支持 setsid()
函数。
import os, subprocess, sys
p = subprocess.Popen([sys.executable, '-c', "print 'hello'"], preexec_fn=os.setsid)
我可以去掉
setsid
的使用,但父进程结束时子进程也将结束。我的问题是如何在Windows上实现与
setsid
相同的效果,以使子进程的生命周期独立于父进程?
如果存在这样的Python包,我愿意使用它。例如,我已经在使用psutil
,但我没有看到任何可以帮助我的东西。