3

我使用了以下帖子中的 spawn 函数: Indefinite daemonized process spawning in Python

我正在编写一个 cgi 脚本,它接收输入、操作它们,然后输出一个成功页面。其中一个操作函数调用一个需要一点时间才能完成的可执行文件。结果,当个人提交请求时,它会简单地挂在 html 页面上,直到完成。

在我的 def main() 函数中,我执行以下操作:

def main():
    <call a bunch of little functions here>
    print <All the success information here>
    <spawn the daemon process here>

问题在于,使用该命令时,可能由于分叉,它会打印 3 次成功信息。(但可执行文件应该在后台运行)。如果我将守护进程放在 html 打印之前,它会导致它挂起,因为它曾经破坏了生成后台进程的目的。

有没有人有任何想法?

另外,关于分叉的快速理论问题,当调用 fork 时,它是否会重新运行它再次调用的整个函数?因此,如果我生成守护进程,分叉进程会生成 ?

4

0 回答 0