python3多处理流程ExitCode -9

时间:2019-03-25 17:55:48

标签: python-3.x multiprocessing

我遇到间歇性错误。 我正在编写一个生产者-消费者模式,在其中我将创建多个流程,并将它们添加到列表中。

    consumers = []
    for i in range(cpu_count()):
        p = Process(target=self.__execute_process, args=(queue, lock))

        # This is critical! The consumer function has an infinite loop
        # Which means it will never exit unless we set daemon to true
        p.daemon = True
        consumers.append(p)

然后,我将全部开始。

    for c in consumers:
        c.start()
        pass

完成工作后,将工作推送到Queue对象。我会用一条日志语句将它们全部加入。

    for c in consumers:  # to check if all consumers are done processing it
        self._logger.info('joining consumers: {}. exit_code: {}'.format(c.pid, c.exitcode))
        c.join()
        pass

有时,其中1个进程的exit_code中的-9。我尝试添加BaseException来捕获所有异常,但是没有一个被捕获。

当我用Google搜索时,找不到任何关于它们的信息。有没有人经历过类似的经历?

0 个答案:

没有答案