我正在尝试在python文档中列出的例子http://docs.python.org/library/multiprocessing.html特别是在Windows上这两个:
1)
from multiprocessing import Process def f(name): print 'hello', name if __name__ == '__main__': p = Process(target=f, args=('bob',)) p.start() p.join()
2)
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()
这是问题:我没有从subprocess得到任何输出。 它虽然在Linux上工作。 到底是怎么回事?
例1效果很好(我希望你把程序保存在一个文件中然后执行,否则它根本不会识别函数f)。
如果你想要父进程的id,例子2将不起作用。 在Windows中没有getppid。
只需要打印os.getppid并执行,它的辉煌如初!
请参阅Doug的更多内容