Python 解释器等待子进程结束

1 投票
2 回答
615 浏览
提问于 2025-04-16 20:11

以下是 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 个回答

1

看起来你想要的是让你的脚本在后台运行。你可以参考这个链接中的解决方案:如何在Python中启动一个后台进程?。你需要指定一些命令行参数,告诉你的脚本进入slp模式,而不是新开一个进程。

0

可以看看这个 subprocess 模块。

撰写回答