小编ham*_*con的帖子

如何在我的 python 程序中找到对 fork 的调用

我的 python 程序中的某些模块正在调用 fork(),而我的 mpi 环境对此不满意:


进程已执行涉及调用“fork()”系统调用以创建子进程的操作。Open MPI 当前的运行状态可能会导致内存损坏或其他系统错误;您的作业可能会挂起、崩溃或产生静默数据损坏。强烈建议不要使用 fork() (或 system() 或其他创建子进程的调用)。

调用fork的过程是:

本地主机:

如果您绝对确定您的应用程序将成功且正确地在 fork() 调用中幸存下来,则可以通过将 mpi_warn_on_fork MCA 参数设置为 0 来禁用此警告。


程序仍然运行,但输出是垃圾。

我不确定对 fork 的调用是否通过os.system,这是 python 调用 fork 的唯一方法吗?我自己并没有编写很多这样的模块,是否有一些工具可以用来找出哪一行生成了该警告?

python fork mpi openmpi python-2.7

5
推荐指数
0
解决办法
491
查看次数

标签 统计

fork ×1

mpi ×1

openmpi ×1

python ×1

python-2.7 ×1