多处理进程未启动

问题描述

当我尝试启动一个进程时,无论如何,它都无法启动。这个简单的代码不起作用:

import multiprocessing



def function():
    print("function started")



function_process = multiprocessing.Process(target = function)
function_process.start()
function_process.join()

这段代码输出根本就没有。如果我在此之后打印 function_process,它返回 <Process name='Process-1' pid=13432 parent=7564 stopped exitcode=0>添加 if __name__ == "__main__" 没有任何作用。有什么我在这里遗漏的吗?

解决方法

对我有用:

$ python mp.py 
function started

也许你展示的代码是一个更大程序的一部分,而这段代码从未被调用过?

这是代码:

import multiprocessing

def function():
    print("function started")

function_process = multiprocessing.Process(target = function)
function_process.start()
function_process.join()

某些 IDE 会重定向 STDINSTDERRSTDOUT,并且数据会丢失。 Visual Studio Code 或 PyCharm 不会出现此问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...