Python解释器等待子进程死亡

标签 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, child 也会死——不会创建 "yeah.txt"

如何确保即使父进程被杀死,子进程仍继续运行,并且父进程不会等待子进程结束?

最佳答案

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

关于Python解释器等待子进程死亡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6461689/

相关文章:

python - 我需要在 Python 多处理环境中使用高效的共享字典

multithreading - 如何使用多进程或多线程客户端在 python 中获取工作进度条?

python - python中视频帧的多处理

python - 元素更改后列表不会更改

python - sqlalchemy apache mod_wsgi Pyramid 崩溃

python - 是否可以创建一个临时 python 文件并导入该 .py 文件的类和属性

python - 使用子进程从 python 执行时,ssh 不被识别为命令?

python - 在 python 中创建一个充满字母的集合

python - python 中的多处理,处理多个文件

具有可迭代和多个参数的 Python 多处理