Multiprocessing en Python sous Windows

Je suis en train d’essayer les exemples listés dans les documents python http://docs.python.org/library/multiprocessing.html, en particulier ceux de 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() 

Voici le problème: Je ne reçois aucune sortie du processus enfant. Cela fonctionne sur Linux cependant. Que se passe-t-il?

L’exemple 1 fonctionne bien (j’espère que vous avez enregistré le programme dans un fichier et que vous l’avez exécuté sinon il ne reconnaîtra pas la fonction f).

l’exemple 2 ne fonctionnera pas si vous voulez l’identifiant du processus parent. Il n’y a pas de getppid dans les fenêtres.

Il suffit de prendre l’impression os.getppid et d’exécuter, c’est génial comme jamais!

S’il vous plaît se référer pour plus par Doug