您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么Python多处理守护进程无法打印到标准输出?

为什么Python多处理守护进程无法打印到标准输出?

您可以通过以下方式打开日志记录,从而更清楚地了解事件的顺序

import multiprocessing as mp
logger = mp.log_to_stderr(logging.INFO)

在其他import语句之后。然后您的程序将产生如下内容

[INFO/Process-1] child process calling self.run()
[INFO/MainProcess] process shutting down
Process-1 starting...
beep...
[INFO/Process-2] child process calling self.run()
[INFO/MainProcess] calling terminate() for daemon Process-1
Process-2 starting...
[INFO/MainProcess] calling join() for process Process-2
Process-2 ending...
[INFO/Process-2] process shutting down
[INFO/Process-2] process exiting with exitcode 0
[INFO/MainProcess] calling join() for process Process-1

因此,主程序首先开始关闭,然后终止进程1(守护进程)。这就是在继续Process-2时看不到蜂鸣声的原因。

python 2022/1/1 18:28:12 有462人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶