我使用了以下帖子中的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时,它是否会重新运行它再次调用的整个函数?因此,如果我生成守护进程,分叉进程是否会生成?