Python 多处理 : name of the main process

标签 python python-2.7 python-multiprocessing

我正在使用多处理模块在不同进程上运行一段代码。 在代码中的某个点,我需要知道代码是由主进程还是由创建的子进程之一执行的。

在我尝试过的所有情况下,当前进程的名称始终是“MainProcess”:

>>> import multiprocessing
>>> multiprocessing.current_process().name
'MainProcess'

这是我可以依赖的 python 约定来确保我的代码片段由主进程运行(假设没有其他进程以这种方式命名)吗? 否则,我应该使用任何其他方法来了解哪个进程正在执行一段代码吗?

谢谢!

最佳答案

虽然可以使用 multiprocessing.current_process(),但也许更好的替代方法是使用 multiprocessing.parent_process()。 对于主进程,它将返回 None

它是在 Python 3.8 中添加的,因此在提出问题时不可用。

关于Python 多处理 : name of the main process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30790660/

相关文章:

python - 什么时候应该将函数的结果存储为 python 中的变量?

python - 打印语句未出现在 GAE 中

python - Python 中多处理模块的池和队列问题

python - 无法在 Python 3.5 中子类化多处理队列

python - 二次方程程序的输出不正确

python - 通过 Mininet 网络发送 "random"流量

Python 请求带有 Unicode 参数的 URL

Python:返回多个值的 C++ 扩展

python - PIP 的过时软件包列表中的 “[sdist]” 是什么意思?

python - 在子屏幕中显示父级 django admin python