首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python子进程意外退出,退出代码为-9

Python子进程意外退出,退出代码为-9
EN

Stack Overflow用户
提问于 2017-06-16 04:01:24
回答 0查看 1.7K关注 0票数 1

我有一个包含16个进程的PyTorch脚本。以下是主进程中的代码片段:

代码语言:javascript
复制
procs = [mp.Process(target=self.worker_wrapper, args=(i, )) for i in range(self.n_workers)]
for p in procs: p.start()
while True:
    time.sleep(60)
    for i, p in enumerate(procs):
        self.logger.info('Check: id %d, exitcode %s, alive %s' % (
            i, str(p.exitcode), str(p.is_alive())))

worker_wrapper是这样的:

代码语言:javascript
复制
def worker_wrapper(self, id):
    try:
        self.worker(id)
    except Exception as e:
        self.logger.info(e)
        self.logger.error(traceback.format_exc())

worker会做一些事情,而且永远不会停止。它在开始时运行良好,但通常在运行1天后,一些子进程(不是所有)意外退出,我得到的输出如下:

代码语言:javascript
复制
[2017-06-15 08:45:21,540] Check: id 13, exitcode -9, alive False

并且它没有捕捉到任何异常。我试图搜索exitcode -9,但没有找到任何有用的东西。以前有没有人见过这个?或者你有任何关于如何调试的想法吗?很抱歉我不能提供一个最小的可重现的代码片段,因为它通常需要一天的时间来重现。我使用的是python2.7

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44576035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档