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

时间:2011-06-15 12:46:11

标签: python multiprocessing

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

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

要求:

  • multiplatform:linux,osx,windows
  • 与Python 2.6-3.x兼容

1 个答案:

答案 0 :(得分:14)

我会认真看一下Python multiprocessing库的文档。从包装说明的第一句开始:

  

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()

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