如何在另一个进程中运行一些python代码?

sor*_*rin 8 python multiprocessing

我想从Python开始,一些其他Python代码,最好是一个函数,但在另一个进程中.

必须在另一个进程中运行它,因为我想运行一些并发测试,比如打开一个由父进程独占打开的文件(这必须失败).

要求:

  • 多平台:linux,osx,windows
  • 兼容Python 2.6-3.x.

whe*_*ies 15

我会认真看一下Python 多处理库的文档.从包的描述的第一句话:

multiprocessing是一个使用类似于线程模块的API支持产生进程的包.

然后它继续说它侧面踩GIL,这听起来像你试图避免.查看他们的简单设置示例:

from multiprocessing import Process

def f(name):
    print 'hello', name

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()
Run Code Online (Sandbox Code Playgroud)

这是一个函数调用,在另一个与你内部进程分开的进程中完成.再一次,所有这些来自文档.