J'ai un pool de processus à exécuter. Je voudrais utiliser pleinement la machine, de sorte que tous les processeurs exécutent des processus. Je ne veux pas surcharger le système, donc ce que je veux vraiment, c'est # executing_processes = # cpus à tout moment. J'ai également besoin de stocker le code stdout, stderr et retour de chaque processus terminé. Comment cela peut-il être réalisé en Python?Exemple simple d'ordonnancement de processus en Python?
EDIT: par 'processus', je veux dire un processus shell.
"# executing_processes = # cpus" va sous-utiliser votre système. Comme un seul processus peut rarement utiliser 100% des ressources, vous devriez probablement supprimer cette restriction sur votre question. –
D'une manière générale, votre déclaration est correcte, mais dans mon cas particulier, chaque processus atteint 100% d'utilisation du processeur. –
@zr: Absolument 100%, tout le temps? Il est très peu probable qu'un processus ne fasse jamais une seule demande système et n'attende jamais une ressource, mais augmente immédiatement jusqu'à 100% de l'utilisation du processeur. Cela ressemble au genre de contrainte artificielle qui n'apparaît que dans un problème de devoirs. –