J'ai un programme en python avec une fonction que je veux pouvoir éxécuter plusieurs fois en parallèle. Or, cette fonction contient un appel à un fonction de bash (je suis sous Linux) via popen. L'appel à la fonction est donc bloquant.
J'ai constaté que si je fait juste n threads qui éxécute chacun cette fonction, ceux-ci s'éxécutent les uns à la suite de l'autre et non en parallèle.
D'après ce que j'ai lu sur internet c'est normal. Il faudrait que j'utilise des process via os.fork().
Ce lien explique comment créer un processus fils. Le problème c'est que j'ai besoin de créer n processus fils et j'ai du mal à concevoir ma structure de données et mon algorithme pour lancer mes n process.
Je pense créer un tableau d'entier pour pouvoir stocker tous les pids et attendre tous mes process. Mais cela ne résoud pas le problème du lancement des n process.
Si vous avez des liens et/ou des exemples de programmes faisant ce travail, je suis preneur.
Merci
Partager