在主关闭后保持次要过程在运行



使用multiprocessing库运行第二个进程,如何在关闭初始过程后保持该过程的运行?我发誓它最初是这样做的,我必须启用守护程序选项,以便它可以正确关闭,但是现在我似乎无法将它们分开。

这是一些有问题的简单代码。在主窗口上关闭的键也将关闭第二个过程,但据我所知,只有在设置为true时才会发生。

from multiprocessing import Process
def background_process():
    #So you can see it eating the cpu
    while True:
        pass
if __name__ == '__main__':
    p = Process(target=background_process)
    p.daemon = False
    p.start()

我的目标是脚本在所有平台上运行,因此,由于多处理部分是代码的很大一部分,因此我希望保持它相当通用。

您可以简单地使用os.fork()

from os import fork
child_pid = fork()
if child_pid == 0:
    '''This is the child process, i.e your background process'''
else:
    '''This is the parent process.'''

您可以使用信号,管道和插座(UNIX插座(进行通信。

多处理。过程试图使您的生活更轻松,但很少会。我建议您完全不要使用它。

相关内容

  • 没有找到相关文章

最新更新