Python解释器等待子进程死亡

时间:2011-06-23 23:11:54

标签: python multiprocessing

check.py的内容:

from multiprocessing import Process
import time
import sys

def slp():
 time.sleep(30)
 f=open("yeah.txt","w")
 f.close()

if __name__=="__main__" :
 x=Process(target=slp)
 x.start()
 sys.exit()

在Windows 7中,cmd,如果我调用python check.py,它不会立即退出,而是等待30秒。如果我杀了cmd,那么孩子也会死亡 - 没有创建"yeah.txt"

如果父母被杀,父母不等待子进程结束,我如何确保孩子继续跑?

2 个答案:

答案 0 :(得分:1)

您似乎想要的是将脚本作为后台进程运行。 How to start a background process in Python?中的解决方案应该这样做,您必须指定一些命令行参数,告诉您的脚本进入slp而不是生成新进程。

答案 1 :(得分:0)

请改为查看subprocess模块。