Windows环境下Python的多处理
我正在尝试python文档中列出的示例 尤其是Windows上的这两个: (一) (二) 问题是:我没有从子进程获得任何输出。但它在Linux上工作。发生了什么?示例1运行良好(我希望您将程序保存在一个文件中,然后执行它,否则它将无法识别函数f) 如果您想要父进程的id,示例2将不起作用。windows中没有getppid 只需使用print os.getppid并执行,它将一如既往地精彩Windows环境下Python的多处理,python,windows,Python,Windows,我正在尝试python文档中列出的示例 尤其是Windows上的这两个: (一) (二) 问题是:我没有从子进程获得任何输出。但它在Linux上工作。发生了什么?示例1运行良好(我希望您将程序保存在一个文件中,然后执行它,否则它将无法识别函数f) 如果您想要父进程的id,示例2将不起作用。windows中没有getppid 只需使用print os.getppid并执行,它将一如既往地精彩 有关详细信息,请参见此,我建议您执行异常处理。这会让我们更清楚!除了父进程中的os.getppid之外,我
有关详细信息,请参见此,我建议您执行异常处理。这会让我们更清楚!除了父进程中的os.getppid之外,我没有任何异常。如果我删除它,我只会得到父对象的输出,而子对象什么也不打印。我将它保存在一个文件中。你有哪个版本的Python?2.6.5。但这并不重要,除非你的版本不是2.6或更高版本。因为它是2.6Lucky的更新版本,我们为您准备了Doug!
from multiprocessing import Process
def f(name):
print 'hello', name
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
from multiprocessing import Process
import os
def info(title):
print title
print 'module name:', __name__
print 'parent process:', os.getppid()
print 'process id:', os.getpid()
def f(name):
info('function f')
print 'hello', name
if __name__ == '__main__':
info('main line')
p = Process(target=f, args=('bob',))
p.start()
p.join()