4

我正在尝试在 Python 中使用子处理,但我不明白它是否可以与函数一起使用,因为在 Python 官方文档中,subprocess.Popen 的语法需要参数,但我没有看到任何可以与一个功能有关。或者有没有另一种方法来产生一个专门用于没有子进程的函数的新进程?

4

3 回答 3

4

您需要的是多处理而不是子处理

http://docs.python.org/library/multiprocessing.html#the-process-class

from multiprocessing import Process

def my_function(name):
    print "My name is %s" % name

if __name__ == '__main__':
    p = Process(target=my_function, args=('Yarkee', ))
    p.start()
    p.join() # this blocks until the process terminates
于 2013-04-27T13:05:49.037 回答
2

看一下multiprocessing模块。这可能有你要找的东西

于 2013-04-27T13:05:19.730 回答
1

python subprocess模块可用于调用外部程序,如下所示:

import subprocess
subprocess.call(["ls", "-l"])

虽然@Yarkee 提到的多处理绑定到一个函数,但它可能是您正在寻找的。

于 2013-04-27T13:14:49.153 回答